2012-01-11 56 views
32

使用UglifyJS可以壓縮多個文件嗎?使用UglifyJS縮小多個文件

喜歡的東西...

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

此外,我通過運行的NodeJS在醜化Windows命令提示符

回答

48

你想要做的(它欺騙,以爲它只是1個文件)其實什麼是公正的貓它

Linux的

cat file1.js file2.js file3.js file4.js | uglifyjs -o files.min.js 

的Windows(未經測試)

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

OR

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

猜我應該提到我在窗戶上...... :( – jcreamer898 2012-01-11 00:43:03

+0

錯誤...這可能會工作然後(當然沒有測試過我)http://stackoverflow.com/a/60254/158014 – Jakub 2012-01-11 00:44:34

+0

繼續獲取一個語法錯誤,但我會繼續與它搞砸...... – jcreamer898 2012-01-11 00:54:10

35

對於這個問題的未來的讀者,W/UglifyJS2,這是目前微不足道的......

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

也有對源地圖的支持。

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

你也可以用*來組合所有的JS文件目錄到一個文件中「'uglifyjs -o test.js/someTestDir/*'文檔說選項應該是第一個,文件是最後的;但這些例子顯示相反。引用https://github.com/mishoo/UglifyJS「文件名應該是最後一個參數,並且應該命名從其讀取JavaScript代碼的文件」這不重要,還是這個答案不正確? – JeffryHouser 2014-01-10 14:20:38

+2

只是爲了澄清我以前的評論,*技巧似乎是特定於Git Bash,並且與UglifyJS無關。 – JeffryHouser 2014-01-11 01:10:31

+0

源地圖的工作原理? – insign 2015-10-11 05:02:30

3

但其他的答案國家,它目前的形式,它可以連接所有的人都在相同的輸出。這與被問到的不一樣。

如果你有一打個人模塊的文件。你不能同時醜化他們。這是可取的,因爲您每次都節省編譯時間以啓動nodejs。

yuicompressor允許這樣做,並且通過爲每個單獨的文件啓動jvm而節省的時間非常好。最後你得到file1-min.js,file2-min.js等等......不是一個串聯的blob。

使用uglify,如果不想連接輸出,則必須爲每個文件產生一個進程。

相關問題