[转]Google的JavaScript压缩工具

来源:互联网 发布:c语言从入门到放弃pdf 编辑:程序博客网 时间:2024/06/06 04:46

现在的Web项目总是离不开大量JavaScript,而JS文件的体积也越来越大,也越来越影响页面的感知性能(Perceived Performance)。因此,我们会对JS文件进行压缩,一方面是使用Gzip,而另一方面则是去除JS文件里的注释、空白,并且压缩局部变量长度等等。对于一些成熟的类库来说,它们本身都会提供“完整注释”以及“强烈压缩”两个版本。但是,有时候我们需要自己修复类库里的bug,这只能在注释版中修改,对于压缩版自然就无能为力了。此外,自定义的脚本文件一般也值得一压。因此我在项目中时常会备一个脚本压缩工具。

压缩脚本的工具有很多,

 

例如老牌的JSMin,或是YUI Compressor(下称YC),它们都可以用来压缩脚本文件(后者还可以处理CSS)。不过在新项目中,我使用了新的工具:Google Closure Compiler(下称GC)。GC有多种用法,例如网页版,网络API版,还有独立应用程序版。GC与YC不同的是,YC是一个压缩器(Compressor),而GC更是一个编译器(Compiler),也就是说GC的压缩并不仅仅是去除注释和空白,还可以在保证代码正确性的情况下进一步地改写成更省空间的做法,一个字节算一个字节,例如:

a = new Object    => a = {}a = new Array     => a = []if (a) b()        => a && b()return 2 * 3;     => return 6;

 

 

Google Closure Compiler 提供三种压缩方法,分别是空格移除、简单压缩及进阶压缩。简单压缩基本上只是把comments 和空格拿走(跟YUI Compressor 基本一样);进阶压缩除以上功能外,还能够rename variable name、甚至重写某些statement!很好很强大!

Google JavaScript Closure Compiler 有本地和在线版本:

 

三种javascript压缩工具

1.JSMin

2.YUI Compressor

3.Google Closure Compiler

下载地址:http://code.google.com/p/closure-compiler/downloads/list

原创粉丝点击