Como melhorar este evento pós-construção do Visual Studio que está usando ajaxmin.exe
-
27-09-2019 - |
Pergunta
Atualmente, estou usando o evento pós-construção do Visual Studio 2010 para minimizar meus arquivos JavaScript. O problema é que toda vez que adiciono um novo arquivo JavaScript que preciso atualizar o evento de compilação de postagem. O que eu quero fazer é tornar o script um pouco mais flexível.
Estrutura do diretório:
Scripts
- Script1.debug.js
- Script2.debug.js
- Script3.debug.js
Aqui está o estado atual do meu script:
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
Eu quero que este script encontre todos os arquivos *.debug.js minifi -lo e emitir para *.js. Como faço para conseguir isso?
Script1.debug.js -> script1.js
Script2.debug.js -> script2.js
Script3.debug.js -> script3.js
Solução
Não use um evento de pós -construção. Após a instalação da ferramenta, foi adicionada uma tarefa MSBuild que executa o minifiador automaticamente para um arquivo .js em seu projeto. Você precisa de um pouco de cirurgia menor para o arquivo do projeto. Os detalhes são explicados neste Postagem do blog.
Outras dicas
Experimente isso:
@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
Encontre todos os arquivos javascript (*.js) na pasta "js " depois remova ".debug" do nome do arquivo (realmente substitua -o por string null) e execute ajaxmin
Crie um arquivo de script em lote para executar a tarefa e ligue para o arquivo em lote do seu evento Postbuild.