当我使用Google Closure Builder(SIMPLE_OPTIMIZATIONS)构建我的js项目时,闭包包含已编译的js文件中的base.js文件。我不使用closure-lib。只有goog.provide和goog.require。有没有办法阻止这种插入?
答案 0 :(得分:2)
goog.provide
和goog.require
调用是Closure-library的一部分。这些定义在base.js
中提供。虽然我意识到编译器会删除goog.require
调用作为编译的一部分,但goog.provide
有一个实际的实现(如果没有它,你的代码将无法工作)。
如果您使用ADVANCED_OPTIMIZATIONS
,则删除死代码将删除base.js
的所有未使用部分。但是,并非所有代码都适合使用ADVANCED_OPTIMIZATIONS
编译。
您可以创建自己的base.js副本,并且只包含必要的定义。
答案 1 :(得分:1)
Kjscompiler具有忽略文件的注释,并将其视为外部文件:https://github.com/knyga/kjscompiler