Come migliorare questo evento di Visual Studio post-generazione che utilizza ajaxmin.exe
-
27-09-2019 - |
Domanda
Attualmente sto usando Visual Studio 2010 eventi post-generazione per minify miei file JavaScript. Il problema è che ogni volta che aggiunge un nuovo file JavaScript devo aggiornare il post evento di compilazione. Quello che voglio fare è rendere la sceneggiatura un po 'più flessibile.
Elenco struttura:
\ Scripts \
- Script1.debug.js
- Script2.debug.js
- Script3.debug.js
Ecco stato attuale del mio 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
Voglio questo script per trovare il file minify e uscita ogni * .debug.js a .js *. Come posso ottenere questo?
Script1.debug.js -> Script1.js
Script2.debug.js -> Script2.js
Script3.debug.js -> Script3.js
Soluzione
Non utilizzare un post evento di compilazione. Dopo aver installato lo strumento, un compito MSBuild è stato aggiunto che corre il minifier automaticamente un file .js nel progetto. Avete bisogno di un po 'di chirurgia minore al file di progetto. I dettagli sono spiegati in questo blog dopo .
Altri suggerimenti
Prova questo:
@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
Trovate tutte javascript (* .js) i file nella cartella "js \" quindi rimuovere ".debug" dal nome del file (in realtà sostituirlo con stringa nulla) ed eseguire AjaxMin
Creare un file di script batch per fare il compito e chiamare il file batch dal vostro evento Postbuild.