使用Google的Closure排除库的模块

时间:2014-03-15 16:58:33

标签: javascript google-closure-compiler

我有一个包含多个功能组的JavaScript库。每个组都可以从编译中排除而不会破坏库(即它们是可选的)。

我已将功能放在他们自己的子模块空间中。

gems.editors.*
gems.filters.*
gems.scaffold.*
etc.. etc..

我想制作排除gems.filters.*的自定义版本。

有没有办法使用命令行设置标志来告诉Closure按模块排除部分库?

1 个答案:

答案 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时,编译器将删除所有未使用的代码。