javascript压缩工具使用说明-ECMAScript cruncher

来源:互联网 发布:iphone7还原网络设置 编辑:程序博客网 时间:2024/05/29 15:08

作者: 核桃博客 |

本文网址:http://www.hetaoblog.com/javascript-compressor-ecmascript-cruncher/

本博客所有文章全部原创,欢迎转载,

但必须以超链接形式标明文章原始出处和作者信息及版权声明

关于javascript(js)压缩工具的使用,在之前的网站性能优化工具-javascript压缩工具JSMin, javascript 压缩工具-YUI-compressor, javascript 压缩工具Dojo compressor 分别介绍了JSMin, YUI-compressor和Dojo Compressor这3款比较流行的js压缩工具;

今天,再介绍一个有点小众的,ECMAScript Cruncher;我个人看到这个工具不是很喜欢,首先它只能在windows环境下用,而且提供的是ESC.wsf方式,直接搞个exe多方便,非要让我们多写一行命令,而且默认非得加上-ow,默认的压缩方式太简单,选择了最高级别第四层也不咋样。。
到这个地址下载ECMAScript Cruncher

http://sourceforge.net/projects/esc/
下载后,在命令行下输入

cscript ESC.wsf -ow output.js input.js

input.js就是你需要压缩的js源文件,output.js就是需要的输出文件,

这时,就会输出output.js;

ECMAScript Cruncher总共支持4层压缩率,默认是第二层,可以通过下面的方式指定为第三层或者第四层

cscript ESC.wsf -I 3 -ow output3.js input.js

cscript ESC.wsf -I 4 -ow output4.js input.js

我以在之前网站性能优化工具-javascript压缩工具JSMin中使用的JSMin的官方网站的样本程序作为input.js

var is = {

ie:      navigator.appName == ‘Microsoft Internet Explorer’,

java:    navigator.javaEnabled(),

ns:      navigator.appName == ‘Netscape’,

ua:      navigator.userAgent.toLowerCase(),

version: parseFloat(navigator.appVersion.substr(21)) ||

parseFloat(navigator.appVersion),

win:     navigator.platform == ‘Win32′

}

is.mac = is.ua.indexOf(‘mac’) >= 0;

if (is.ua.indexOf(‘opera’) >= 0) {

is.ie = is.ns = false;

is.opera = true;

}

if (is.ua.indexOf(‘gecko’) >= 0) {

is.ie = is.ns = false;

is.gecko = true;

}

使用ECMAScript Cruncher压缩后,默认的第2层输出的output.js是

var is={

ie:navigator.appName==’Microsoft Internet Explorer’,

java:navigator.javaEnabled(),

ns:navigator.appName==’Netscape’,

ua:navigator.userAgent.toLowerCase(),

version:parseFloat(navigator.appVersion.substr(21))||

parseFloat(navigator.appVersion),

win:navigator.platform==’Win32′

}

is.mac=is.ua.indexOf(‘mac’)>=0;

if(is.ua.indexOf(‘opera’)>=0){

is.ie=is.ns=false;

is.opera=true;

}

if(is.ua.indexOf(‘gecko’)>=0){

is.ie=is.ns=false;

is.gecko=true;

}

这个压缩比YUI Compressor, Dojo Compressor和JSMin都差,行数仍然和输入的input.js一样是19行,只是一行里面的空格被去掉了,然后我换成第3层和第4层压缩,结果的输出几乎没变,仍然都是19行。

总而言之,我试用了这个后决定以后再也不看这个工具:)

原创粉丝点击