我有一个包含多个功能组的 JavaScript 库。每个组都可以从编译中排除,而不会破坏库(即它们是可选的)。
我已将功能放置在它们自己的子模块空间中。
gems.editors.*
gems.filters.*
gems.scaffold.*
etc.. etc..
例如,我想进行排除 gems.filters.*
的自定义构建。
有没有办法使用命令行设置标志来告诉 Closure 按模块排除库的某些部分?
最佳答案
您可以使用 @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 时,编译器将删除所有未使用的代码。
关于javascript - 使用 Google 的 Closure 排除库的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22426856/