如何使用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
答案 0 :(得分:0)
Closure REST服务通常将命令行选项映射到注释块之间的行。选项以“@”为前缀,并删除“=”符号。但是,它似乎不适用于@define(应该映射到--define)。我怀疑REST代码与DEBUG = false中的额外“=”混淆。
这应该有效:
@define DEBUG=false
或
@define 'DEBUG=false'
但没有。
答案 1 :(得分:0)
REST服务当前不支持define
参数。
Only these和these参数受支持。