使用谷歌闭包REST服务删除调试代码?

时间:2011-02-22 22:35:37

标签: google-closure-compiler

如何使用google closure REST服务从javascript中删除调试代码。 我知道我必须为JS编译器指定调试变量,如下所示: --define = 'DEBUG =假' (在条件下使用DEBUG)。 但是如何将这个指定给REST服务:http://closure-compiler.appspot.com/home 我试过这个,但它不起作用。即:代码已优化但仍包含调试代码:(

// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS

-- define='DEBUG=false'

// ==/ClosureCompiler==


/** @define {boolean} */
var DEBUG = true;

/**@constructor*/
function MyObject() {
this.test = 4;
if (DEBUG) {
this.toString = function () { return "test object"; };
}
}
window['MyObject'] = MyObject

2 个答案:

答案 0 :(得分:0)

Closure REST服务通常将命令行选项映射到注释块之间的行。选项以“@”为前缀,并删除“=”符号。但是,它似乎不适用于@define(应该映射到--define)。我怀疑REST代码与DEBUG = false中的额外“=”混淆。

这应该有效:

@define DEBUG=false

@define 'DEBUG=false'

但没有。

答案 1 :(得分:0)

REST服务当前不支持define参数。

Only thesethese参数受支持。