Wie zur Verbesserung dieses Visual Studio Post-Build-Ereignisses, das ajaxmin.exe unter Verwendung

StackOverflow https://stackoverflow.com/questions/4044913

  •  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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top