【问题标题】:How to Improve this Visual Studio Post-Build Event that is using ajaxmin.exe如何改进使用 ajaxmin.exe 的 Visual Studio 生成后事件
【发布时间】:2011-05-01 23:44:24
【问题描述】:

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

目录结构:

\脚本\

  • 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

【问题讨论】:

    标签: visual-studio post-build-event


    【解决方案1】:

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

    【讨论】:

    • Sheen,这个脚本已经在一个批处理文件中。我只需要知道如何编写解决所描述问题所需的脚本。这与脚本的位置无关(批处理或构建事件文本框)。
    【解决方案2】:

    不要使用构建后事件。安装该工具后,添加了一个 MSBuild 任务,该任务会自动为项目中的 .js 文件运行压缩程序。您需要对项目文件进行一些小手术。详情在这个blog post中解释。

    【讨论】:

    • 这正是我想要的!!谢谢。
    【解决方案3】:

    试试这个:

    @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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多