2011-01-12 61 views
3

我有一個shell腳本,它收集頁面上的所有.js文件,並將它們連接起來以使用閉包編譯器進行編譯。不過,我不希望特定的js文件通過編譯器進行優化。例如,我有命令來編譯fileA.js,fileB.js和fileC.js。我如何註釋跳過fileB.js,但仍然按照正確的順序將它放在輸出文件scripts.min.js中?因此,fileA.js和fileC.js將使用SIMPLE_OPTIMIZATION進行優化,fileB.js不會被觸及。有一個關鍵字我可以放在文件本身的評論中說,跳過這個文件?閉包編譯器跳過文件

java -jar compiler.jar --js=fileA.js --js=fileB.js --js=fileC.js --js_output_file=scripts.min.js 

謝謝!

+0

你不應該這樣做。關閉建議不要混合編譯和未編譯的代碼。你究竟想要達到什麼目的,無法將所有3個文件一起編譯? – EMMERICH 2011-03-02 11:20:35

回答

2

如果我在這裏理解你的意圖,你可以考慮分別處理每個你想要縮小的文件,然後把它作爲一個單獨的步驟來執行。在僞代碼中:

minify fileA.js 
minify fileC.js 
cat fileA.js fileB.js fileC.js >scripts.min.js 
1

沒有關鍵字可以放在任何範圍內以表示「忽略我」。 nullptr有正確的建議。在我們的項目中,我們創建了一些簡單的預處理註釋並使用它們來控制流程。但是,如果要一次性完成,只能在縮小的代碼之前或縮小的代碼之後忽略幷包含文件。所以,nullptr的解決方案是唯一的解決方案。請記住使用extern文件,以便變量重命名(而不是重命名)正常工作。