我有一个包含多个功能组的JavaScript库。每个组都可以从编译中排除而不会破坏库(即它们是可选的)。
我已将功能放在他们自己的子模块空间中。
gems.editors.*
gems.filters.*
gems.scaffold.*
etc.. etc..
我想制作排除gems.filters.*
的自定义版本。
有没有办法使用命令行设置标志来告诉Closure按模块排除部分库?
答案 0 :(得分:1)
您可以使用@define注释设置标记(可选择使用goog.define())。我不确定它是否适用于包装goog.require(),如
if (gems.ENABLE_EDITORS) {
goog.require('gems.editors');
}
但你绝对可以在编辑器文件中使用该标志:
goog.provide('gems.editors');
if (gems.ENABLE_EDITORS) {
// editor code goes here
}
然后,当ENABLE_EDITORS为false时,编译器将删除所有未使用的代码。