uglify-js(2)中有一项Conditional compilation,效果如下
源代码:
/** @const */ var DEBUG = false;
(function () {
"use strict";
var longStr = "hello ";
longStr += "world";
if (DEBUG) {
console.log(longStr);
}
})();
编译后:
var DEBUG=!1;!function(){"use strict";var r="hello ";r+="world"}();
当设置了一个全局变量DEBUG
,并且JSDOC标识为CONST
(ES6之后则为const DEBUG = false
),进行压缩时会将if(DEBUG){}
及其中的代码去除掉。
因为只有DEBUG
为true
时,其中的代码块才能执行,若为false
则与直接注释此块代码并无差异。所以我希望能当DEBUG
为true
时,再将其所在的代码块注释掉,请问该如何操作?
认证高级PHP讲师