使用YUI Compressor给JavaScript和CSS瘦身
减小Javascript和CSS的体积有助于加快页面的加载速度。Javascript或者CSS的压缩器在英文里称为compressor,它主要是移除空格和注释来缩小体积。当然优秀的压缩器象YUI Compressor还具有打乱局部符号和优化代码等功能(特别针对JavaScript)。如果你的Javascript或者CSS本身就没有几行,那么你可能感受不到瘦身的效果;反之,通过压缩后的文件体积通常可以缩小40%-50%。
之前我已经用过一些在线工具来压缩网站的JavaScript和CSS代码,但是觉得用其来不是很方便。每次对Javascript和CSS稍作修改,都要把代码拷贝粘贴到在线工具里,然后在把压缩后的版本拷贝粘帖到本地保存。后来想自己网站上的Javascript和CSS本身体积就不是很大,就索性不压缩了,省得麻烦。最近在优化公司的网站代码的时候,决定对Javascript和CSS瘦身,用到了YUI Compressor。很早以前就听说YUI Compressor了,一直没有机会去使用它。这次使用后觉得很好用,故在这里推荐给大家。
我觉得YUI Compressor主要有3大优点:
- 同时支持Javascript和CSS的压缩。
- 用JAVA写的,可跨平台使用。它需要Java版本>=1.4,现在大部分机子应该都安装有Java,我在Window和Linux都试用过,没有出现任何问题。
- 压缩效果好。我分别用YUI Compressor和Dean Edwards的在线Javascript Compressor对一个文件大小为8.341K的javascript进行压缩,YUI Compressor生成的文件大小为5.535K, 而在线Javascript Compressor生成的文件大小为5.985K。虽然Dean Edwards的JS Compressor还可以选择 Base62 encode(编码)和Shrink variable(收缩变量),从而得到更小体积的文件(4.835K)。按照我的理解YUI Compressor是一种Minifier(缩小器),正如文章开头提到的它主要是移除空格和注释来缩小体积,虽然它在一定程度上还缩小变量名和移除不必要的代码,但是比较保守。而Dean Edwards的JS Compressor可以称之为Packer(打包机),它使用了不同的概念和更加先进的打包算法(例如:Shrink variable),虽然它达到更小的体积,但是在性能上要打些折扣,因为客户端需要一定的时间去解压和使用它。
使用YUI Compressor,可以说是非常简单。
- 首先到YUI Library官方下载页面,记住该页面有很多YUI的库,你要下载的是YUI Compressor。
- 然后解压下载文件,记住直接可以用的是build文件夹下的yuicompressor-2.4.2.jar,另外下载的文件里还包含源代码、文档等等。
- 把yuicompressor-2.4.2.jar拷贝到某个文件目录下,比如C:/tools(windows) 或者 /usr/adam/tools(Linux)。
- 最后用下面的命令:
//压缩Javascriptjava -jar /path/to/yuicompressor-2.4.2.jar example.js -o example.min.js#例如:java -jar c:\tools\yuicompressor-2.4.2.jar 61dh.js -o 61dh.min.js//压缩CSSjava -jar /path/to/yuicompressor-2.4.2.jar example.css -o example.min.css#例如:java -jar /usr/adam/tools/yuicompressor-2.4.2.jar 61dh.css -o 61dh.min.css
更多的用法,请参考YUI Compressor的官方网页。
标签: CSS, Javascript, 编程开发


