Ich entwickle eine Angular2-Anwendung in VS2015 und lasse eine Webpack-Bündel- und Minifikationsumgebung für dasselbe einrichten.MSBuild und Webpack
Das ist mein webpack.conf.js
switch (process.env.NODE_ENV) {
case 'prod':
case 'production':
module.exports = require('./config/webpack.prod');
break;
case 'test':
case 'testing':
//module.exports = require('./config/webpack.test');
break;
case 'dev':
case 'development':
default:
module.exports = require('./config/webpack.dev');
}
Ich habe auch eine webpack Aufgabe Läufer installiert, die dies mit den folgenden Befehlen ruft
cmd /c SET NODE_ENV=development&& webpack -d --color
und
cmd /c SET NODE_ENV=production&& webpack -p --color
Das Setup scheint gut zu funktionieren. Ich möchte dies jedoch mit meinem TFS Build CI integrieren. Der Befehl webpack sollte ausgelöst werden, nachdem das Projekt erstellt wurde, und einen Buildfehler melden, wenn das Webpack-Build fehlschlägt. Ich habe versucht, den folgenden Code in meiner CSPROJ Datei
<Target Name="AfterBuild">
<Exec Condition="$(Configuration) == 'Debug'" Command="cmd /c SET NODE_ENV=production&& webpack -p --color">
</Exec>
</Target>
Er scheiterte mit einem Fehler 9009
Danach einzuarbeiten habe ich versucht, den Befehl aus dem node_modules Ordner ab und startete wo webpack installiert wurde
<Target Name="AfterBuild">
<Exec Condition="$(Configuration) == 'Debug'" Command="./node_modules/.bin cmd /c SET NODE_ENV=production&& webpack -p --color">
</Exec>
</Target>
noch vergeblich. Selbst wenn ich das zum Laufen bringe, bin ich mir nicht sicher, ob dies dazu führen würde, dass der VS-Build fehlschlägt, wenn ein Fehler im Webpack auftritt.
Wie gehe ich damit fort?
Vielleicht brauchen Sie nur einen Leerraum? Ersetzen Sie im vorletzten Snippet dieses "SET NODE_ENV = production &&" durch dieses - 'SET NODE_ENV = production &&'. Ich weiß, dass es albern ist. Aber ich kann es anbieten! : D – Mihir