Visual Studio中編譯任務(wù)壓縮js和CSS文件
首先請下載YUI Compressor,YUI Compressor是個Java庫,你需要安裝Java的運行環(huán)境,請點這里下載。(關(guān)于Java環(huán)境的配置請大家自行g(shù)oogle,另外YUI Compressor是github的鏈接,應(yīng)該被墻了,請自備爬梯工具)。
新建一個批處理文件,代碼如下:
- @echo off
- if "%1" == "" goto exit
- if "%2" == "" goto exit
- pushd "%1"
- echo 正在壓縮Css文件
- for /r %%i in (*.css) do call "D:\Program Files\Java\jre\bin\java.exe" -jar G:\tools\yuicompressor-2.4.7.jar -o %%i %%i
- echo 正在壓縮js文件
- for /r %%i in (*.js) do call "D:\Program Files\Java\jre\bin\java.exe" -jar G:\tools\yuicompressor-2.4.7.jar -o %%i %%i
- ::call "D:\Program Files\7-Zip\7z.exe" a %2.7z -r PackageTmp
- pause
- :exit
- exit
批處理的第一個參數(shù)接收項目生成部署包的路徑,vs默認路徑是:\obj\Release,第二個參數(shù)是生成壓縮包的名字(這里是生成的7z的壓縮包,如果需要生成,請把call那行的注釋去掉)。
然后就是編輯你的項目文件,比如Test.csproj,打開它,在根路徑下添加如下代碼:
- <Target Name="Compressor" BeforeTargets="Package" Condition="'$(ConfigurationName)'=='Release'">
- <Message Text="Starting Compress Javascript Files and Css Files" />
- <Exec Command="call F:\Users\Documents\Compressor.bat $(ProjectDir)obj\$(ConfigurationName)\Package\ $(ProjectName)" />
- </Target>
稍微解釋下這段代碼,BeforeTargets="Package"是在打包Web文件前調(diào)用壓縮,Condition="'$(ConfigurationName)'=='Release'",只有Release模式下才壓縮,你不會想一邊Debug一邊壓縮js和css文件吧。Command命令中,請自行替換剛才建立的批處理文件的路徑,$(ProjectDir)是項目路徑,$ConfigurationName是當前的生成配置,$ProjectName是項目名稱。
現(xiàn)在在項目上右擊,生成部署包,然后看看js和css文件是不是都已經(jīng)壓縮了呢?
原文鏈接:http://www.cnblogs.com/darkiller/archive/2013/01/31/2887235.html
【編輯推薦】