Как улучшить это событие Visual Studio Post-Build, использующее ajaxmin.exe - PullRequest
2 голосов
/ 28 октября 2010

В настоящее время я использую событие 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

Ответы [ 3 ]

3 голосов
/ 28 октября 2010

Не используйте событие после сборки. После установки инструмента была добавлена ​​задача MSBuild, которая автоматически запускает минификатор для файла .js в вашем проекте. Вам нужно немного мелких операций в файл проекта. Подробности объясняются в этом сообщении в блоге .

1 голос
/ 03 декабря 2010

Попробуйте это:

@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

0 голосов
/ 28 октября 2010

Создайте файл пакетного сценария для выполнения задачи и вызовите пакетный файл из своего события PostBuild.

...