如何改进使用 ajaxmin.exe 的 Visual Studio 生成后事件
-
27-09-2019 - |
题
我目前正在使用 Visual Studio 2010 构建后事件来缩小我的 JavaScript 文件。问题是每次我添加新的 JavaScript 文件时,我都必须更新构建后事件。我想做的就是让脚本更加灵活一点。
目录结构:
\脚本\
- 脚本1.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
解决方案
不要使用构建后事件。安装该工具后,添加了一个 MSBuild 任务,该任务会自动为项目中的 .js 文件运行压缩器。您需要对项目文件进行一些小改动。详细信息在此解释 博客文章.
其他提示
尝试这个:
@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
创建批处理脚本文件来执行任务并从 PostBuild 事件调用批处理文件。
不隶属于 StackOverflow