某天起,前端开始代码优化。我负责跟大家学习打杂。
关于代码压缩。
1. 压缩工具分类之。
一类:文件压缩。 Gzip。压缩几个文件成一个 gz 包。下载代码时,可提高速度。》官方网。 这个很早就有了,并且现在还在用着~
另一类:去掉文件注释空白等。 如 JSMin,YUI Compressor ,Google Closure Compiler。可能还有 Dojo Compressor 等等。
2. 详解几个。
a. JSMin。未做混淆处理。(混淆,简单说就是把你定义的变量函数名啥的,替换成一个字母这种更短的,别人看到时不知道啥意思。当然混淆没这么简单。。)
使用方法:JSMin <uncompressor.js> compressor.js (下载地址)
注意事项:js文件最好是 ASCII或者UTF-8格式。不过我们一般都是UTF-8哦。
JSMin 操作不可逆。保存好源文件,另外规范代码。JSLint。
b. YUI Compressor。基于Java(JRE。>1.4)。但比 JSMin 压缩效果好。YUI 的还可以压缩 CSS文件。
具体原理:去掉冗余空白;对于JS,缩短变量名;对于CSS,优化0值属性值,优化颜色值(但不如CSSTidy:支持相关属性的合并。)
使用方法:java -jar yuicompressor-2.4.2.jar in.js -o out.js (下载地址)
java -jar yuicompressor-2.4.1.jar --nomunge --preserve-semi --disable-optimizations in.js -o out.js(不混淆,不去分号,不优化。。)
java -jar yuicompressor-2.4.1.jar --charset utf-8 in.js -o out.js(可指定UTF-8编码)
其他。可参看这位同学的解说。一些原理。(这篇文字里涉及到一些知识点,可详见高性能JS那本书。)
c. Google Closure Compiler。详见。玉伯同学的PPT。