Google的JavaScript壓縮公用程式

來源:互聯網
上載者:User

現在的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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.