代码之家  ›  专栏  ›  技术社区  ›  sgmeyer

如何改进此使用ajaxmin.exe的Visual Studio后期生成事件

  •  2
  • sgmeyer  · 技术社区  · 15 年前

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

    目录结构:

    \脚本\

    • Script1.debug.js脚本
    • Script2.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-->脚本1.js

    Script3.debug.js-->脚本3.js

    3 回复  |  直到 15 年前
        1
  •  3
  •   Hans Passant    15 年前

    不要使用生成后事件。安装该工具后,添加了一个MSBuild任务,该任务会自动为项目中的.js文件运行minifier。你需要对项目文件做些小手术。细节在这里解释 blog post .

        2
  •  1
  •   Quiz    15 年前

    试试这个:

    @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文件,然后从文件名中删除“.debug”(实际替换为空字符串),并运行AjaxMin

        3
  •  0
  •   Sheen    15 年前