Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Google'排除库的模块;s闭包_Javascript_Google Closure Compiler - Fatal编程技术网

Javascript 使用Google'排除库的模块;s闭包

Javascript 使用Google'排除库的模块;s闭包,javascript,google-closure-compiler,Javascript,Google Closure Compiler,我有一个JavaScript库,其中包括几个功能组。每个组都可以在不破坏库的情况下从编译中排除(即,它们是可选的) 我已经在他们自己的子模块空间中放置了该功能 gems.editors.* gems.filters.* gems.scaffold.* etc.. etc.. 例如,我想创建排除gems.filters.的自定义构建 有没有一种方法可以使用命令行设置标志来告诉Closure按模块排除库的某些部分?您可以使用注释设置标志(可以选择使用goog.define()。我不确定它是否适用于

我有一个JavaScript库,其中包括几个功能组。每个组都可以在不破坏库的情况下从编译中排除(即,它们是可选的)

我已经在他们自己的子模块空间中放置了该功能

gems.editors.*
gems.filters.*
gems.scaffold.*
etc.. etc..
例如,我想创建排除gems.filters.的自定义构建


有没有一种方法可以使用命令行设置标志来告诉Closure按模块排除库的某些部分?

您可以使用注释设置标志(可以选择使用goog.define()。我不确定它是否适用于像这样包装一个goog.require()文件

但是,您完全可以在编辑器文件本身中使用该标志:

goog.provide('gems.editors');

if (gems.ENABLE_EDITORS) {
  // editor code goes here
}

然后,当ENABLE_EDITORS为false时,编译器将删除所有未使用的代码。

如果使用高级_优化,也可以通过另一种方式实现这一点-只请求正在使用的模块,其余的将作为死代码删除。
goog.provide('gems.editors');

if (gems.ENABLE_EDITORS) {
  // editor code goes here
}