javascript - 使用 Google 的 Closure 排除库的模块

标签 javascript google-closure-compiler

我有一个包含多个功能组的 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/

相关文章:

javascript - AngularJS 应用程序 : unable to update $index

javascript - @const 在 javascript 中?

javascript - 使用 Closure Library 构建库

java - 使用 rhino 或闭包编译器从 java 更改 javascript 变量和函数名称

google-closure-compiler - 关闭编译器 - 需要警告 : restricted index type found:string,:编号

javascript - 从 Node.js 模块中的 Buffer 实例逐行读取字符串

javascript - 如何更新/刷新 html 中的滚动文本(当它们滚动时)

javascript - 如何使用 Javascript 添加另一个文本装饰定义?

javascript - Google Closure Linter 在 Windows 的 Sublime Text 2 中不起作用

javascript - 使用正则表达式搜索 div 类