Microsoft Ajax Minifier 是微軟提供用來壓縮 Javascript、以及 CSS 的一套好用的工具,
簡單介紹使用方法
1)download Ajax Minifer 並安裝
2)開始 –> 所有程式 –> Microsoft Ajax Minifier –> Microsoft Ajax Minifier Command Prompt 此時會跳出cmd視窗
3)壓縮 js
1 | ajaxmin.exe -h -js test.js -o test.min.js |
4)壓縮 css
1 | ajaxmin.exe -css test.css -o test.min.css |
使用方法非常簡單,
更細部的介紹與使用方法可以閱讀下面的參考資料。
我這邊要分享的是,
cmd 指令一次只可以壓縮一個檔案,
那如果我想把整個網站下所有 .js 與 .css 都執行壓縮的話該怎麼做,
方式一,利用 MSBuild模式 ,在編譯時自動執行,該方法在此篇 [ASP.NET]用Microsoft Ajax Minifier幫你的Javascript瘦身 有非常詳盡的介紹
方式二,利用 PowerShell 去取得指定目錄下含所有子目錄的 js檔 與 css檔 ,再去執行 Ajax Minifer
這邊分享一下我用的 PowerShell 語法
ajaxmin.ps1
01 | $fileList = dir D:/PrecompiledWeb -filter *.js -recurse |
02 | foreach ($file in $fileList) |
04 | $fullname = $file.DirectoryName + '/' + $file.name; |
05 | C:/ "Program Files" /Microsoft/ "Microsoft Ajax Minifier 4" /ajaxmin.exe -h -js $fullname -o $fullname -clobber |
08 | $fileList = dir D:/PrecompiledWeb -filter *.css -recurse |
09 | foreach ($file in $fileList) |
11 | $fullname = $file.DirectoryName + '/' + $file.name; |
12 | C:/ "Program Files" /Microsoft/ "Microsoft Ajax Minifier 4" /ajaxmin.exe -css $fullname -o $fullname -clobber |
說明一下 我利用的參數 –clobber : 如果指定的檔案已存在,則進行覆蓋
在cmd視窗執行 ajaxmin.ps1 的語法
powershell –command “& ./ajaxmin.ps1”
利用此語法,可以自動將目錄下所有 js 檔 與 css 檔都進行壓縮
這是我第一次學習使用PowerShell ,如語法上有任何可以修正的地方,再請多多指教,謝謝