在項目開發環境下,我們會把 JS 代碼盡可能子產品化,友善管理和修改,這就避免不了會出現一個項目自身 JS 檔案數量達到 10 個或者更多。
而項目上線後,會要求将所有 JS 檔案合并為 1 個或者幾個,手動的操作雖然也不是問題,但每次修改更新都要手動操作合并一遍,這就肯定是個噩夢了。
這種情況下,一些工具也就随之産生,比如線上合并,一些網站提供js檔案上傳,然後合并,但這還是很麻煩,如果開發環境沒有網絡呢?
這會我就想到了 windows 系統下的 cmd 裡的 copy 指令,它雖然是個複制的功能,但實則也是可以實作合并檔案的需求,下面就看下這句代碼:
<code>copy a.js+b.js+c.js abc.js /b</code>
相信不會太多程式設計的人閱讀上面那句代碼也能大緻讀懂意思:通過 copy 指令将 a.js b.js c.js 合并為一個 abc.js,最後的 /b 表示檔案為二進位檔案,copy 指令的其它參數可以在 cmd 裡輸入 copy /? 學習,這裡就不再細述。
說到這裡,其實 windows 本身就可以完成我們的需求,也不用安裝什麼其它工具了,下面我們要做的就是将這一切操作更簡單。
我們在項目存放 JS 的檔案夾下建立一個 TXT 檔案,将代碼複制進去,并修改需要合并哪些檔案,最後儲存并将 TXT 修改為 BAT 字尾,如:
<code>copy core.js+hros.app.js+hros.appmanage.js+hros.base.js+hros.copyright.js+hros.desktop.js+hros.dock.js+hros.folderView.js+hros.grid.js+hros.maskBox.js+hros.navbar.js+hros.popupMenu.js+hros.searchbar.js+hros.startmenu.js+hros.taskbar.js+hros.uploadFile.js+hros.wallpaper.js+hros.widget.js+hros.window.js+hros.zoom.js+templates.js+util.js core.min.js /b</code>
接下來我們輕按兩下下那個 BAT 檔案,看到效果了吧?這就是我們想要的。以後每次上線前,隻需輕按兩下下這個檔案,系統就會自動合并并生成一個合并好的檔案,比起其它什麼工具,這個的效率簡直無法直視。
如果你本地還安裝過 UglifyJS 這個工具,可以在代碼後面加一句壓縮的代碼,如:
<code>uglifyjs core.min.js -m -o core.min.js</code>
這樣每次合并好後就自動壓縮了,又省了一步操作。
CSS 合并同理。
本文轉自胡尐睿丶部落格園部落格,原文連結:http://www.cnblogs.com/hooray/p/3292958.html,如需轉載請自行聯系原作者