2010-12-06 45 views
5

我已經設法創建一個小型的js應用程序,使用jQuery和jQuery UI使用谷歌的閉包編譯器進行高級優化。只是爲了清楚:我沒有編譯jQuery本身,只是我的應用程序使用jQuery。我想知道是否有人可以證實,這個想法也適用於更大和更復雜的應用程序。使用jquery的閉包編譯器應用

的過程如下:

0.-您有一個調用jQuery的1.4.3.min.js,test1.js一個HTML文件,並test2.js

1.-編譯您的應用程序和導出屬性映射文件

java -jar closure-compiler.jar \ 
     --compilation_level ADVANCED_OPTIMIZATIONS \ 
     --js test1.js --js test2.js \ 
     --property_map_output_file prop.out > min.js 

屬性映射是包含屬性的名稱前和編譯後一個鍵/值文件:

aprop:a 
html:b 
each:c 

2:複製prop.out到prop.in和編輯它,以便jQuery的性能(功能)由相同的名稱(這可能與列表jQuery的功能很容易實現自動化)取代:

aprop:a 
html:html 
each:each 

3 .-重新編譯使用道具作爲屬性映射輸入

java -jar closure-compiler.jar \ 
     --compilation_level ADVANCED_OPTIMIZATIONS \ 
     --js test1.js --js test2.js \ 
     --property_map_input_file prop.in > min.js 

4.-現在,在你的HTML,包括min.js和jQuery-1.4.3.min.js。該應用程序應該是功能性的,但您的代碼應該更快更小。

這會縮小你的代碼,而不是jquery的。

正如我所說,我已經在一個小應用程序中測試過了。如果有人擁有更大更復雜的應用程序,那麼知道這是有效的。

感謝,

HEG

回答

3

你有沒有使用externs考慮。據我所知,這是保持jQuery方法在代碼中縮短的方法。 Externs for jQuery作爲對關閉項目的貢獻而存在。

對於jQuery UI,你可能想嘗試this。這是我遇到過的一次,但沒有測試它自己

順便說一句:如果你有興趣,這是非常方便的封閉工具:Plovr。我一直都在使用它,並且讓extern與它一起工作。

+0

我嘗試使用externs(與正常jquery js)沒有成功。我不知道「Extern for jQuery」。看起來很有前途,但我仍然需要用jQuery UI做些事情。 感謝有關plovr的信息! – Hernan 2010-12-06 22:04:50

相關問題