如今的Web项目少不了大量JavaScript代码,JS文件的体积也越来越大,也越来越影响页面的加载。因此,发布项目时一般会对JS文件进行压缩,一方面是服务器端使用开启Gzip,而另一方面则是去除JS文件里的注释、空白,并且压缩局部变量长度等等。
压缩脚本的工具有很多,常用的一个是YUI Compressor(下称YC),传说jquery就是用它来压缩的。不过目前流行的工具是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;
GC还提供了一些更危险的压缩方式,虽然有神奇效果,但个人不建议使用。
另外:现在js在线压缩网站一搜一大把,若是要求不高,也可以尝试下。