当我在闭包中使用ADVANCED_OPTIMIZATIONS时,我可以添加web.config
属性:
<compilation debug="false">
而且我将在我的代码中写下:
if (goog.DEBUG) { code }
在高级模式下,我不会在.js文件中看到此脚本。
我想对自己的属性做同样的事情 - 我创建了一个define.js文件:
Define.js:
goog.scope(function() {
define.IS_SHOW_CODE = false;
}
并编写代码: if(!define.IS_SHOW_CODE){code}
我仍然可以在编译的.js文件中找到这个及其内容!
如何防止闭包在高级模式下编译脚本?
答案 0 :(得分:1)
如果“goog”有效,很可能你错过了“define”的声明。
看起来应该是这样的:
var define = {}; // goog.provide('define') would also work here.
/** @define {boolean} */
define.IS_SHOW_CODE = true;
答案 1 :(得分:0)
好的我发现了 - 我必须使用前缀goog。[xxx]以告诉编译器删除里面的脚本。 使用“define”代替没有删除脚本。
所以我已将define.IS_SHOW_CODE更改为goog.IS_SHOW_CODE