如何在 JS 中预编译脚本
Posted
技术标签:
【中文标题】如何在 JS 中预编译脚本【英文标题】:How to Precompile scripts in JS 【发布时间】:2014-09-04 16:08:29 【问题描述】:我有许多使用 grunt 连接的 js 文件。我的大部分代码都是通用的,但其中的某些部分对于某些客户端是私有的(这意味着客户端 a 有一些客户端 b 不会使用的脚本)。 目前,我在需要的任何地方都使用简单的 if 条件。 我希望以某种方式,当我为特定客户端构建连接脚本时,他将只获得他的方法(没有适合其他客户端的 if 部分)。 我一直在寻找使用车把,但我不知道如何使用它来完成这项任务。 我的私人脚本不包含任何 html 元素。 有任何想法吗?
【问题讨论】:
事实证明,车把与这项任务无关。最终我使用 grunt uglify 选项来实现我想要的,使用 compress: global_defs: bla:false 。 【参考方案1】:听起来你最好的选择是closure comipler。如果您要展示一个最小的代码示例,说明您想要缩小/优化什么以及您期望发生什么,那么答案会更详细。
另一种方法是基于外部配置创建构建系统。 IE。不要在你的 javascript 中使用 if,而是基于一些可配置的对象进行 grunt 构建。可以像用于连接的文件数组一样简单。
【讨论】:
以上是关于如何在 JS 中预编译脚本的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 Cheetah 中预编译基本模板,以便 #include、#extends 和 #import 在 Weby 中正常工作