2012-01-11 11 views
32
ile çoklu dosyaları küçültme

Birden çok dosyayı UglifyJS ile sıkıştırmak mümkün mü?UglifyJS

şey gibi ... Ayrıca

uglifyjs -o app.build.js appfile1.js appfile2.js ... 

, yapmaya (onun sadece 1 dosya düşünerek içine kandırmak) istiyorum Aslında neyi

cevap

48

istemi, Windows Komutanlığında NodeJS aracılığıyla çirkinleştirmek çalıştırıyorum adildir kedi o

Linux

cat file1.js file2.js file3.js file4.js | uglifyjs -o files.min.js 
Bu artık önemsiz UglifyJS2 w/210

, Windows(denenmemiş) Bu sorunun gelecek okuyucular için

type file1.js file2.js > uglifyjs -o files.min.js 

VEYA

type file1.js file2.js > merged.files.js 
uglifyjs -o merged.files.js 
+0

Tahmin etmeliyim ki, pencerede olduğumu söylemeliyim ... :( – jcreamer898

+0

Err ... bu işe yarayabilir (tabii ki benim tarafımdan test edilmemiş) http://stackoverflow.com/a/60254/158014 – Jakub

+0

Bu konuda bir sözdizimi hatası, ama ben onunla uğraşmaya devam edeceğiz ... – jcreamer898

35

...

uglifyjs file1.js file2.js -o foo.min.js 

Ayrıca kaynak haritaları için de destek var.

uglifyjs file1.js file2.js -o foo.min.js --source-map foo.min.js.map --source-map-root http://foo.com/src 
+3

Ayrıca tüm JS dosyalarını birleştirmek için * kullanabilirsiniz dizini tek bir dosyaya "uglifyjs -o test.js/someTestDir/*" Dokümanlar, seçeneklerin ilk sırada olması gerektiğini ve dosyaların sonuncu olduğunu; ama bu örnekler tam tersini gösteriyor. Https://github.com/mishoo/UglifyJS alıntı yapmak için "dosya adı son argüman olmalı ve JavaScript kodunu okuyacağı dosyayı adlandırmalı." Önemli değil mi, yoksa bu cevap yanlış mı? – JeffryHouser

+2

Sadece benim önceki yorum için bir açıklama eklemek için, * hüner Git Bash özgü gibi görünen ve UglifyJS ilgisi yoktur. – JeffryHouser

+0

Kaynak haritalar nasıl çalışır? – insign

3

ama, bu mevcut haliyle, aynı çıkışında hepsini bir arada kullanabilirsiniz devletler diğer cevaplar olarak sayılı

. Hangi soruluyorsa aynı değil.

Tek tek modüller olan bir düzine dosyanız varsa. Hepsini aynı anda uyandıramazsın. Hangisi arzu edilir, çünkü her seferinde nodejleri başlatmak için zaman kazanırsınız.

yuicompressor buna izin verir ve her bir dosya için bir jvm başlatılmadan kaydedilen zaman mükemmeldir. Ve sonunda dosya1-min.js, file2-min.js, vb. Birleştirilmiş blob değil.

Uglify ile, çıktıyı birleştirmek istemiyorsanız, dosya başına bir işlem oluşturmanız gerekir.