Kullandığımız javascript kaynağında google kapatma derleyicisini kullanmak istiyorum. Geliştirme modunda, işlevleri çok sayıda dosyaya ayırma eğilimindeyiz, ancak üretim için bunların modüller halinde birleştirilmesini isteriz.Javascript'i Google'ın Kapatma Derleyicisini kullanarak modüllere nasıl bölerim?
Derleyiciyi çağırırken derlemeye eklenecek dosyaların bir listesini verebilirim, ancak bunun çıktısı derleyicinin dosya listesinin sırasını kaydetmediğini gösterir.
Bunu araştırdım ve farklı js dosyaları arasındaki bağımlılıkları denetlemek için goog.provide/good.require kullanabileceğimi öğrendim. , Js derlenmiş dosyaya
var mainFile = {};
:
goog.provide("mainFile")
bu katacak: bununla sorun sadece örneğin ihtiyaç veya istemediğiniz benim js kodu ekler olmasıdır istemediğim bir şey. google kapatma kitaplığını hiç kullanmıyoruz, kullanmak istediğim tek şey derleyici.
Derleyiciye, daha fazla "kapatma kitaplığı" işlevselliği eklemeden dosyaların sırasını söylemem için bir yolu var mı? Elbette, önce tüm dosyaları alacağım, bunları bir derleyicinin girdisi olacak şekilde birleştirecek bir araç oluşturabilirim, ancak derleyicinin kendisi tarafından yapılabileceğini geçersiz kılmayı tercih ederim.
Düzenleme
gol bu thread cevap gibi modülleri üretmek mümkün olmaktır: Using the --module option in Closure Compiler to create multiple output files
Ve bu yüzden eklemek istediğiniz hangi gitmek hangi dosyaların kontrol etme yeteneği Modül ayrıca siparişleri üzerinde kontrol sahibi olurken. Şimdilik jokeyleri kullanmıyorum, ancak gelecekte yapmayı planlıyorum (eğer mümkünse).
sadece "cat file1.js file2.js> combined.js & & derleme ..." iyi ama bizim durumumuzda biraz daha karmaşık ve bunu yapan bir program/komut yazmamız gerekecek bazı mantıklara dayanmaktadır. Bir şekilde derleyiciye ileri düzeydeki dosyaların sırasını söyleyebilseydik, bu tür bir programın uygulanış zamanını kaydedebiliriz.
Teşekkürler.
nasıl kedi 'yaklaşık dosya1 dosya2> sıcaklığında && derlemek -js temp? – georg
Joker (* .js) kullanıyor musunuz, yoksa derleyiciyi çağırırken her dosyayı sırayla yapıyor musunuz? – GillesC
Bir yorum için çok büyük olduğu için sorumu düzenledim. Teşekkürler. –