Quantcast
Channel: 黑暗執行緒
Viewing all articles
Browse latest Browse all 2311

【筆記】JavaScript與CSS壓縮打包工具-WG.EXE

$
0
0

ASP.NET MVC的CSS/JS打包壓縮功能,背後靠的是WebGrease開源元件,而WebGrease還提供MSBuild支援及工具程式--wg.exe方便應用。

前篇文章AppScriptsHandler用來壓縮JavaScript的Microsoft.Ajax.Utilities.Minifier,便是來自WebGrease的元件,這篇文章則談談如何將wg.exe複製到Server上執行。

文件提到wg.exe會隨Visual Studio一併安裝,使用Visual Studio命令提示字元就能直接執行(This tool is automatically installed with Visual Studio. To run the tool, we recommend that you use the Visual Studio Command Prompt.),但試過手邊的機器(有裝VS2012及VS2013),均無法直接從VS Command Prompt啟動(文件有誤?),只能自力救濟。

開啟用NuGet安裝過WebGrease套件的專案資料夾,找到以下檔案:

packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll
packages\Newtonsoft.Json.5.0.*\lib\40\Newtonsoft.Json.dll
packages\WebGrease.1.6.0\lib\WebGrease.dll
packages\WebGrease.1.6.0\tools\WG.exe

將這四個檔案複製在同一資料夾部署到伺服器,即可執行wg.exe壓縮或打包JavaScript及CSS。列舉常用語法如下:

wg.exe -m -in:d:\src_folder -out:d:\dst_folder
將d:\src_folder\所有.js檔壓縮成.min.js後寫入d:\dst_folder

wg.exe –m -in:d:\src_folder\boo.js -out:d:\dst_folder\boo.min.js
將d:\src_folder\boo.js壓縮後寫入d:\dst_folder\boo.min.js

wg.exe –b -in:d:\src_folder -out:d:\dst_folder\packed.min.js
將d:\src_folder\的所有.js檔壓縮打包成單一檔案寫入d:\dst_folder\packed.min.js

【補記】一開始用WebGrease 1.5版測試,發現以下Bug


當命令列視窗現有路徑被設成wg.exe所在資料夾,執行時出現不明錯誤;但只要將當下路徑改成wg.exe所在目錄以外的任何目錄,就可正常正常。本想追進原始碼射茶包,發現問題在1.6版已消失,因茶包已自盡改以不起訴結案。

Viewing all articles
Browse latest Browse all 2311

Trending Articles