2010-12-06 21 views
5

Gelişmiş optimizasyonlar ile google'ın kapatma derleyici kullanarak jQuery ve jQuery UI kullanan küçük boyutlu js uygulaması oluşturmayı başarmış. Sadece netlik için: jQuery'nin kendisini derlemedim, sadece jquery kullanan uygulamam. Birisinin bu fikrin daha büyük ve daha karmaşık uygulamalar için de çalıştığını onaylayabileceğini bilmek isterim. aşağıdaki gibijquery kullanarak kapatma derleyici uygulaması

işlemdir:

0.- Sen jquery-1.4.3.min.js, test1.js çağıran bir html dosyası var ve

1.- derleme test2.js uygulama ve dışa mülkiyet haritası öncesi ve derleme sonrası özelliğin adını içeren bir anahtar/değer dosyasıdır

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

bir özellik haritası dosyası:

aprop:a 
html:b 
each:c 

2.- Kopya prop.in ve jQuery özellikleri (fonksiyonlar) (bu kolayca liste jQuery'nin fonksiyonu ile otomatik olabilir) aynı adı değiştirilir, böylece düzenlemek için prop.out:

aprop:a 
html:html 
each:each 

3.-, mülkiyet haritası girişine sizin html Şimdi

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

4.- olarak desteklemek kullanarak recompile min.js ve jquery-1.4.3.min.js sayılabilir. Uygulama işlevsel olmalı, ancak kodunuz daha hızlı ve daha küçük olmalıdır.

Bu kodunuzu küçültür, jquery's.

Dediğim gibi, bunu küçük bir uygulamada test ettim. Birisi daha büyük ve karmaşık bir uygulamaya sahipse, bunun işe yaradığını bilmek güzel olurdu.

sayesinde

heg

cevap

3

Eğer externs kullanarak düşündünüz mü. Bildiğim kadarıyla jQuery yöntemlerinin kodunuzda kısaltılmasını engellemenin yolu budur. Kapanış projesine katkı olarak Externs for jQuery var.

jQuery UI için this'u denemek isteyebilirsiniz. Bir kez karşılaştığım ama kendimi test etmediğim bir şeydir.

BTW: Eğer ilgileniyorsanız, bu son derece kullanışlı bir kurulum aracı var: Plovr. Ben her zaman kullanırım ve ben onunla çalıştık.

+0

Başarıları olmadan (normal jquery js ile) externs kullanmayı denedim. "JQuery için Eksenler" in farkında değildim. Umut verici görünüyor ama jQuery UI ile bir şeyler yapmaya ihtiyacım var. plovr hakkında bilgi için teşekkürler! – Hernan

İlgili konular