我已經設法創建一個小型的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
我嘗試使用externs(與正常jquery js)沒有成功。我不知道「Extern for jQuery」。看起來很有前途,但我仍然需要用jQuery UI做些事情。 感謝有關plovr的信息! – Hernan 2010-12-06 22:04:50