Wie zur Verbesserung dieses Visual Studio Post-Build-Ereignisses, das ajaxmin.exe unter Verwendung
-
27-09-2019 - |
Frage
Ich bin derzeit mit Visual Studio 2010 Post-Build-Ereignis meiner JavaScript-Dateien minify. Das Problem ist, jedes Mal, wenn ich eine neue JavaScript-Datei hinzufügen, ich habe das Post Buildereignis zu aktualisieren. Was ich will, ist das Skript etwas flexibler machen tun.
Verzeichnisstruktur:
\ Scripts \
- Script1.debug.js
- Script2.debug.js
- Script3.debug.js
Hier ist mein Skript den aktuellen Zustand:
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
Ich möchte dieses Skript jeder * .debug.js Datei finden minify es und gibt es an * Js. Wie erreiche ich das?
Script1.debug.js -> script1.js
Script2.debug.js -> Script2.js
Script3.debug.js -> Script3.js
Lösung
Verwenden Sie keine Post Buildereignis verwenden. Nach der Installation des Tools wurde eine MSBuild-Aufgabe für eine Js-Datei in Ihrem Projekt, dass läuft die minifier automatisch hinzugefügt. Sie brauchen ein bisschen kleinere chirurgische Eingriffe in der Projektdatei. Die Details werden erklärt in diesem Blog Post .
Andere Tipps
Versuchen Sie diese:
@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
Hier finden Sie alle Javascript (* .js) Dateien in Ordner "js \" dann entfernen ".debug" aus dem Dateinamen (tatsächlich ersetzen Sie es mit Null-String) und führen AjaxMin
Erstellen Sie eine Batch-Skript-Datei, die Aufgabe zu tun und die Batch-Datei von Ihrem Postbuild Ereignis aufrufen.