1.强大的Google Closure Compiler
Google Closure Compiler 提供三种压缩方法,分别是空格移除、简单压缩及高级压缩。简单压缩除了把comments 和空格拿走之外(跟YUI Compressor 基本一样),还能够rename variable name、甚至重写某些statement! 高级的压缩效率就更不用说了,但此项要慎用,确认你页面的JS只有一个,否则可能会产生JS冲突!Google Closure Compiler有两个版本,分别是单机版和网上版,尤其是网上版,简单易用,不需安装。单机版Javascript Closure Compiler下载
网上版Javascript Closure Compiler
2.yahoo的YUI Compressor
YUI Compressor是使用Java编写的工具,需要Java版本大于等于1.4。 不仅能压缩JS,还能压缩CSS。
工作原理简介:
主要是去掉冗余的空白,主要包括空格,换行符、制表符。
对于 Javascript,还采用缩短变量名的方法压缩文件,就是在保证代码正确性的情况下将变量名用只有1个字符的字符串代替,或者2个、3个字符,总之尽量短。
对于 CSS,还有采用优化0值属性值的表示,优化颜色值的方法压缩文件。
CSS的优化比 CSSTidy 功能弱。CSSTidy还能支持一些相关属性的合并。
用法:
代码:
java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js
注:x,y,z 代表版本号
最简单的语法
java -jar yuicompressor-2.4.1.jar in.js -o out.js
in.js ,out.js分别是输入和输出文件
最安全的语法,不混淆、不去分号、不优化
java -jar yuicompressor-2.4.2.jar --nomunge --preserve-semi --disable-optimizations in.js -o out.js
utf8编码可以指定
java -jar yuicompressor-2.4.2.jar --charset utf-8 in.js -o out.js
关于压缩效率可以在 http://compressorrater.thruhere.net/
//压缩JS
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js
//压缩CSS
java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css