2008-12-11 39 views

回答

3

更好的是有點主觀的在這裏,因爲有多個因素的考慮(甚至超出你列出):

  1. 壓縮後的大小並不能說明整個故事,因爲一個積極的壓縮可能會導致更慢由於在瀏覽器解釋之前運行拆包代碼所需的額外時間,因此運行時性能較差。
    • 當您控制輸入代碼時,錯誤是最容易避免的 - 明智地使用分號會很長。在您的代碼上運行JSLint,並修復報告的任何問題。
    • 當然,代碼本身的樣式和大小會影響結果。
    • 最後,值得注意的是,儘管一些代碼壓縮工具將更有效地與gzip結合,但服務器端gzip壓縮總是會導致比任何代碼壓縮更小的下載。

我的建議是成果的基礎上運行,你打算通過幾個壓縮機(自動化比較工具如CompressorRater幫助...)壓縮碼,並選擇 - 記憶測試,輪廓和比較之後的實際頁面加載時間。

+0

這通常是一個不錯的主意,可以調整性能並查看效果,但對於JSMin,Dojo ShrinkSafe和YUI Compressor,它們只會減小文件大小(替換符號,刪除死代碼) - 它們不會修改行爲。 Dean Edward的包裝工確實增加了處理時間。 – orip 2008-12-12 00:03:52

0

作爲Mootools的用戶,我注意到Mootools已經通過YUI Compressor替換了Dean Edwards的Packer。我還記得有一次關於Ajaxian.com的討論,Julien(Compressor作者)指出YUI壓縮機做得更好的地方。我使用Compressor並從未見過任何問題,但我從來沒有研究過在混淆時哪些產生更少的錯誤。

0

YUI Compressor比Packer壓縮更安全,更緊湊。我相信Packer需要完美的JavaScript,否則在腳本加載時會導致JavaScript錯誤。不管怎樣,無論您使用哪種方式,都可以通過Gzip文件獲得最大的性能提升。

11

比較最好的壓縮機的好方法是Arthur Blake的The JavaScript CompressorRater

你通常感興趣的是用GZIP壓縮後的大小(你應該配置你的web服務器來執行壓縮)。

最好的結果通常是從YUI CompressorDojo ShrinkSafe。差異非常小,過了一段時間我停止了比較,我只使用YUI壓縮機。

編輯: 自從這個問題被問到最初的時候,2個新的minifiers已被釋放。它們通常至少與YUI壓縮機一樣好,甚至更好。

編輯2:

  • UglifyJS,由jQuery開發團隊的官方1.5版本選擇
2

肯定退房Dojo Shrinksafe。最近重做了,顯然表現得到了改善。

+0

+1,因爲我不必像雅虎那樣下載它。 – 2010-12-08 03:15:59

相關問題