文章目錄
- 項目要發布時,由於javascript和css在開發時代碼採用了規範的形式,比如有注釋,縮進等,這樣,這些檔案的大小比較大,為了減少網路流量,提高網頁的下載速度,一般發布時需要對javascript和css進行瘦身處理,壓縮這些檔案的大小。Ajax Minifier正是這樣的一個工具。
項目要發布時,由於javascript和css在開發時代碼採用了規範的形式,比如有注釋,縮進等,這樣,這些檔案的大小比較大,為了減少網路流量,提高網頁的下載速度,一般發布時需要對javascript和css進行瘦身處理,壓縮這些檔案的大小。Ajax Minifier正是這樣的一個工具。
Ajax Minifier
http://aspnet.codeplex.com/releases/view/40584
預設安裝在C:\Program Files\Microsoft\Microsoft Ajax Minifier 4 下,包括AjaxMin.exe AjaxMin.dll 和msbuild相關的一些內容
直接啟動AjaxMinCommandPrompt.bat後,即可在任何目錄使用ajaxmin.exe
從ajaxmin.codeplex.com網站下載的代碼中包括文檔ajaxmin.doc[網站也有],裡面有詳細的參數說明。
壓縮命令列形式
AjaxMin.exe這個命令列檔案可以進行css和js的壓縮
ajaxmin inputfile.css –out outputfile.css
ajaxmin inputfile.js –out outputfile.js
VS中項目整合
使用XML形式開啟專案檔*. Csproj,在該檔案的</project>前加入
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\AjaxMin.tasks" /> <Target Name="AfterBuild"> <ItemGroup> <JS Include="**\*.js" Exclude="**\*.min.js;" /> </ItemGroup> <ItemGroup> <CSS Include="**\*.css" Exclude="**\*.min.css" /> </ItemGroup> <Message Text="======== AjaxMin Begin========" /> <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
JSCollapseToLiteral="true" JSCombineDuplicateLiterals="true" JSLocalRenaming="CrunchAll" JSMacSafariQuirks="true"
JSRemoveUnneededCode="true" JSStripDebugStatements="true" JSEvalTreatment="Ignore" JSInlineSafeStrings="true" /> <AjaxMin CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" /> <Message Text="======== AjaxMin Done!========" /> </Target>
則編譯該項目時會自動把項目下所有的*.css和*.js檔案全部改名為*.min.css *.min.js
最終的版本只要引用min.css和min.js即可。如果分頁檔不修改,也可使用批處理
Ajaxmin.bat
@echo off
setlocal enabledelayedexpansion
for /r . %%f in (*.min.m.js) do (
set src=%%f
set dst=!src:.min.m.js=.js!
echo !src! !dst!
copy /y !src! !dst!
)
[千萬不要在開發目錄下運行這個,否則把開發的js檔案都覆蓋了,在部署的目錄下運行即可]
規範檢查
和其他的語言一樣,為了使javascript的編碼符合規範,可以使用工具進行檢查。
jslint http://www.crockford.com/jslint 這個線上可以用
使用ajaxmin也可以
Ajaxmin.exe -ANALYZE –warn:4 demo.js
也可在VS中使用,具體配置如下[VS Tools菜單,添加外部工具]
AjaxMin-Analyse
C:\Program Files\Microsoft\Microsoft Ajax Minifier 4\AjaxMin.exe
-ANALYZE –warn:4 "$(ItemFileName)$(ItemExt)"
$(ItemDir)
項目中只要選擇某個js或css檔案即可分析,輸出視窗顯示有警告的行數
還原
偶爾在調試已經壓縮過的js檔案或則需要分析已有的壓縮過的js檔案時,可以使用這個工具進行還原,這樣正常化以後由于格式整齊,就更好分析。
具體命令如下:
Ajaxmin.exe -pretty demo.min.js -clobber -o demo.js
其他
對於javascript,css代碼規範檢查和壓縮、還原網路還有很多其他的工具,ajaxmin能夠和msbuild及VS整合,使用起來方便一些。以下一些參考資料:
http://www.crockford.com/javascript/jsmin.html
http://www.cnblogs.com/lzhdim/archive/2009/04/26/1443452.html