Google的JavaScript壓縮公用程式幾款極品的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的壓縮並不僅僅是去除注釋和空白,還可以在保證代碼正確性的情況下進一步地改寫成更省空間的做法,一個位元組算一個位元組,例如:

1 a = new Object    => a = {}
2 a = new Array     => a = []
3 if (a) b()        => a && b()
4 return 2 * 3;     => return 6;

Google Closure Compiler 提供三種壓縮方法,分別是空格移除、簡單壓縮及進階壓縮。簡單壓縮基本上只是把comments 和空格拿走(跟YUI Compressor 基本一樣);進階壓縮除以上功能外,還能夠rename variable name、甚至重寫某些statement!很好很強大!

Google JavaScript Closure Compiler 有本地和線上版本:

點此下載 Javascript Closure Compiler

線上版本 Javascript Closure Compiler

附官方英文版簡介:

Closure Compiler is a JavaScript optimizing compiler. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what’s left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. It is used in many of Google’s JavaScript apps, including Gmail, Google Web Search, Google Maps, and Google Docs.

 

 

 

幾款極品的javascript壓縮混淆工具 個人首推
MemTronic's FREEWARE HTML/JavaScript Cruncher-Compressor v1.0k
壓縮效果好得不一般,混淆出來的代碼完全不可讀,壓縮率可達50%,IE 5+ / NS 7.0 / Mozilla / Opera 7.0 中均可使用

第二款,我推薦Rob Seiler的packer
這款壓縮混淆工具效果也不錯,有三種版本,.Net,Perl,和WSH版本,Windows平台下WSH指令碼比較適合,命令列操作,有詳細的說明

第三款,Saltstorm出品的ESC
這款工具可自訂壓縮層級和是否進行混淆,當然缺點也不是沒有,壓縮效果一般,而且要求每個JS語句必須以分號結尾,有大括弧也不行。

 

個人首推
MemTronic's FREEWARE HTML/JavaScript Cruncher-Compressor v1.0k
壓縮效果好得不一般,混淆出來的代碼完全不可讀,壓縮率可達50%,IE 5+ / NS 7.0 / Mozilla / Opera 7.0 中均可使用

第二款,我推薦Rob Seiler的packer
這款壓縮混淆工具效果也不錯,有三種版本,.Net,Perl,和WSH版本,Windows平台下WSH指令碼比較適合,命令列操作,有詳細的說明

第三款,Saltstorm出品的ESC
這款工具可自訂壓縮層級和是否進行混淆,當然缺點也不是沒有,壓縮效果一般,而且要求每個JS語句必須以分號結尾,有大括弧也不行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.