Javascript压缩工具

常用的一个是dojo shrinksafe( http://shrinksafe.dojotoolkit.org/ ),还有一个是yui compressor( http://developer.yahoo.com/yui/compressor/ ),yui compressor效果更好。

其实两个工具都是基于Rhino(http://mozilla.org/rhino) 这个开源项目的,不同于其他压缩工具是基于正则表达式来进行JavaScript代码匹配来进行压缩,Rhino是一个JavaScript的解析器,是 解释需要压缩的JavaScript代码后再进行比如变量替换,消除空行,消除注释等压缩方法。Rhino是一个jar包,运行他需要在你的机器上安装 JDK,我安装的是j2sdk1.4.2_17,安装完成后,便可以使用了。

dojo shrinksafe基本上没有在Rhino基础上在进行封装,直接用Rhino即可,而yui compressor是基于Rhino的基础上,再进行了封装,使压缩效率更高。

使用方法:


dojo shrinksafe:

java -jar custom_rhino.jar -c infile.js > outfile.js 2 > &1

其中infile.js 即是你需要压缩的JavaScript文件,outfile.js 是压缩后的输出文件

yui compressor:

java -jar yuicompressor-2.3.4.jar –preserve-semi -o outfile.js infile.js

类 似,其中infile.js 即是你需要压缩的JavaScript文件,outfile.js 是压缩后的输出文件,另外那个参数,–preserve-semi ,表示保留代码中的分号,为了压缩后的程序的正确性,我在这保留了分号。其他还有一些参数,具体可参见这:http://www.julienlecomte.net/yuicompressor/README

yui compressor还支持css文件的压缩。

最后我们利用gzip命令达成tar.gz的文件,放到浏览器能够访问到的JS路径,浏览器会自动取经过gzip过的文件传输。

部分转自:http://www.spacespace.cn/ 对于作者的贡献与指引深表感谢。

Leave a Comment.