JSCOMPRESS_DEBUG变量是什么
压缩前的代码:
/** @define {boolean} */ var JSCOMPRESS_DEBUG = true; (function () { //Code Start var data = [1, 2, 3, 4, 5]; for (var i = 0; i < data.length; i++) { if (JSCOMPRESS_DEBUG) { console.log(i); } data[i] += 1; } if (JSCOMPRESS_DEBUG) { console.log("debug log"); } })();
压缩后的代码
(function(){for(var b=[1,2,3,4,5],a=0;a<b.length;a++)b[a]+=1})();
如上代码所示,JSCompress在压缩代码时将把JSCOMPRESS_DEBUG代码块中的代码移除。配合JSCompress.ISAPI.FilterJSFile使用可以为你开发编程带来巨大便利,主要表现在:
调试日志无需在频繁的移除、增加、移除、增加
你完全可以保留他们,只要将他们置于JSCOMPRESS_DEBUG代码块内。作为程序猿,你是不是和我一样厌烦这类无意义的频繁的增删改呢?
数据模拟
一个程序、网站的开发上线难免需要涉及前端、Web甚至VC等多语种的协调维护,当其他开发人员无法及时给你提供接口,或该接口你无法在普通网页中获取时(软件嵌套的网页提供特有api)你可以使用JSCOMPRESS_DEBUG代码模拟这些数据,提高开发速度,为你节约开发总体时间。
需要注意的是,你需要在js头部申明以下信息,否则JSCompress将不识别JSCOMPRESS_DEBUG标识。
/** @define {boolean} */ var JSCOMPRESS_DEBUG = true;
如你在上面的代码段中看到的,申明的JSCOMPRESS_DEBUG变量信息将被干净无痕的移除在压缩文件外。