欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-17 21:41:16
...
作者: 核桃博客  |

网址: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行。

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