2012-08-25 61 views
0

現在,我聽說過javascript壓縮器,使用了一堆,並支持一些。但是,他們都做同樣的事情。刪除不必要的空間這很棒,他們完全按照罐子上的說法做。壓縮Javascript。然而,通過一些提供傳奇圖書館的主要玩家(如jQuery),他們提供了「完全無法讀取」的「精簡」來源。值得注意的是,變量名稱從someThingLikeThis更改爲c。這是我無法在任何地方找到的壓縮。大超級快樂javascript壓縮

我的問題是,我在哪裏可以找到一個JavaScript壓縮器,除了刪除不必要的空間之外還壓縮變量。還是手動完成?

例如:

// My Javascript:; 

var cats = 'Nyan', 
    dogs = 'Hound'; 

alert(cats + dogs); 

// jQuery styled compression: 

var a='Nyan',b='Hound';alert(a+b); 
+1

[UglifyJS](https://github.com/mishoo/UglifyJS)做了很多事情(請參閱列表),包括「縮短變量名稱...」。 – pimvdb

+1

http://closure-compiler.appspot.com/home – Yoshi

回答

1

,應該由一個標準minifier來完成。如果不是,那麼很可能變量名稱不能被安全地重命名(全局變量/函數)。

此外,您可能正在尋找的是混淆器。檢查這個問題: How can I obfuscate (protect) JavaScript?

0

Google Closure Compiler是最先進的工具來transpile/minify JavaScript代碼。

它基本上具有兩個編譯級別 - 簡單和先進。幾乎所有的JS代碼都可以使用簡單的編譯級別。

真正的魔法是在先進的水平,它刪除未使用的代碼,內聯函數,展平屬性(abc.def.ghi - >a)並重命名所有自定義變量。但是你必須以編譯器可以理解的方式編寫代碼。

如果您認真對待JS,請閱讀"Closure: The Definitive Guide" by Michael Bolin誰是Closure工具的主要開發人員之一。