如何在google.closure ADVANCED OPTIMIZATIONS中编译某些代码

时间:2014-03-25 16:08:45

标签: javascript compilation google-closure-compiler google-closure

当我在闭包中使用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文件中找到这个及其内容!

如何防止闭包在高级模式下编译脚本?

2 个答案:

答案 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