yuicompressor和google closure简单比较

以前用yuicompressor要压缩js文件,google closure开源后,开发者们有多了一个选择,作为一个使用者,我对yuicompressor和google closure简单的做了一下比较:

通常在项目里都是使用脚本运行,使用web服务的很少,所以这里采用的是下载jar包在命令行下运行,yuicompressor的包名为yuicompressor-2.2.4.jar,google closure的包名为:compiler.jar。

[b]比较一: google网站的例子[/b]
google网站提供了一个helloworld的例子,如下

// A simplest function.
function hello(longName) {
alert('Hello, ' + longName);
}
hello('New User');

分别用yuicompressor和google closure进行压缩:

//yuicompressor
java -jar yuicompressor-2.2.4.jar hello.js -o yui_hello.js

//google closure
java -jar compiler.jar --js hello.js --js_output_file g_hello.js

结果如下:

// the javascript for g_hello.js
function hello(a){alert("Hello, "+a)}hello("New User");

// the javascript for yui_hello.js
function hello(A){alert("Hello, "+A)}hello("New User")

相信大家已经发现:使用yuicompressor压缩的文件比使用google closure压缩的文件少了一个分号,进行到这里,我相信80%的开发人员会得出结论: 就是yuicompressor的压缩能力比google closure强,而且我当时也是这么想的。真是这样吗?

[b]再做一次试验,这次使用jquery[/b]

//yuicompressor
java -jar yuicompressor-2.2.4.jar jquery-1.3.2.js -o yui_jquery-1.3.2.js

//google closure
java -jar compiler.jar --js jquery-1.3.2.js --js_output_file g_jquery-1.3.2.js

jquery文件大小是120,763字节,yui_jquery-1.3.2.js大小是56,835,g_jquery-1.3.2.js的大小是55,323字节,使用google closure压缩的文件大小是yuicompressor的97.3%。产生的这个结果有点让人苦笑不得,虽然不能据此就说google closure压缩js的能力更强,至少在jquery上,google closure的能力体现了出来,相比之下,google网站上提供的例子就有些欠妥当,一个小小的分号,很可能流失很多用户。

尽管如此,但是两者的差异并不是十分明显,考虑到yuicompressor可以压缩css文件,yuicompressor仍然会是目前的首选,作为个人,我喜欢google的产品,喜欢开源技术,所以我会持续关注google的相关产品。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章