2010-10-28 63 views
2

我目前正在使用Visual Studio 2010後生成事件來縮小我的JavaScript文件。問題是每次我添加一個新的JavaScript文件,我必須更新後構建事件。我想要做的是使腳本更靈活一點。如何改進使用ajaxmin.exe的Visual Studio後生成事件

目錄結構:

\腳本\

  • Script1.debug.js
  • Script2.debug.js
  • Script3.debug.js

這裏是我腳本的當前狀態:

ajaxmin.exe "$(ProjectDir)Scripts\Script1.debug.js" -out "$(ProjectDir)Scripts\Script1.js" -clobber 
ajaxmin.exe "$(ProjectDir)Scripts\Script2.debug.js" -out "$(ProjectDir)Scripts\Script2.js" -clobber 
ajaxmin.exe "$(ProjectDir)Scripts\Script3.debug.js" -out "$(ProjectDir)Scripts\Script3.js" -clobber 

我想讓這個腳本找到每個* .debug.js文件將其縮小並輸出到* .js。我如何實現這一目標?

Script1.debug.js - > Script1.js
Script2.debug.js - > Script2.js
Script3.debug.js - > Script3.js

回答

3

請勿使用後期構建事件。安裝該工具後,添加了一個MSBuild任務,該任務會自動爲您的項目中的.js文件運行縮小器。您需要對項目文件進行一些小手術。細節在這blog post解釋。

+0

這正是我一直在尋找的!謝謝。 – sgmeyer 2010-10-28 17:53:20

0

創建一個批處理腳本文件執行任務並從您的PostBuild事件中調用批處理文件。

+0

Sheen,這個腳本已經在一個批處理文件中。我只需要知道如何編寫解決所述問題所需的腳本。這不是腳本生活的地方(批處理或生成事件文本框)的問題。 – sgmeyer 2010-10-28 16:24:59

1

試試這個:

@echo off 

for /r "js\" %%i IN (*.js) do (
    call :Sub %%~fi 
) 

:Sub 
set debug=%* 
set release=%debug:.debug=% 
AjaxMin.exe -hc "%debug%" -o "%release%" -clobber 

找到所有的JavaScript(* .js文件)文件夾中的文件 「JS \」,然後從文件名中刪除 「的.debug」(實際上空字符串替換它),然後運行AjaxMin

相關問題