2

我目前正在使用 Visual Studio 2010 构建后事件来缩小我的 JavaScript 文件。问题是每次我添加一个新的 JavaScript 文件时,我都必须更新构建后事件。我想要做的是让脚本更灵活一点。

目录结构:

\Scripts\

  • 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

4

3 回答 3

3

不要使用构建后事件。安装该工具后,添加了一个 MSBuild 任务,该任务会自动为项目中的 .js 文件运行压缩程序。您需要对项目文件进行一些小手术。详细信息在此博客文章中进行了说明。

于 2010-10-28T17:51:48.023 回答
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

在文件夹“js\”中查找所有 javascript (*.js) 文件,然后从文件名中删除“.debug”(实际上将其替换为空字符串)并运行 AjaxMin

于 2010-12-03T07:02:33.140 回答
0

创建一个批处理脚本文件来执行该任务并从您的 PostBuild 事件中调用该批处理文件。

于 2010-10-28T16:21:45.190 回答