Pracuję nad aplikacją Angular2 w VS2015 i mam skonfigurowane środowisko pakowania i minimalizacji pakietów webpack.MSBuild i Webpack
To jest moje 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');
}
mam również zainstalowany biegacza zadanie WebPack który wywołuje to z następujących poleceń
cmd /c SET NODE_ENV=development&& webpack -d --color
i
cmd /c SET NODE_ENV=production&& webpack -p --color
Konfiguracja wydaje się działać dobrze. Jednak chcę to zintegrować z moimi wersjami CI TFS. Komenda webpack powinna uruchomić się po zakończeniu projektu i zgłosić awarię kompilacji, gdy kompilacja pakietu nie powiedzie się. Próbowałem włączyć następujący kod w moim .csproj pliku
<Target Name="AfterBuild">
<Exec Condition="$(Configuration) == 'Debug'" Command="cmd /c SET NODE_ENV=production&& webpack -p --color">
</Exec>
</Target>
nie powiodło się z powodu błędu 9009
Potem próbowałem, począwszy komendę się z folderu node_modules gdzie został zainstalowany WebPack
<Target Name="AfterBuild">
<Exec Condition="$(Configuration) == 'Debug'" Command="./node_modules/.bin cmd /c SET NODE_ENV=production&& webpack -p --color">
</Exec>
</Target>
wciąż na próżno. Nawet jeśli sprawię, że to zadziała, nie jestem pewien, czy spowodowałoby to niepowodzenie kompilacji VS, jeśli napotka błąd w pakiecie sieci Web.
Jak mogę tego dokonać?
Może potrzebujesz tylko białej przestrzeni? W drugim ostatnim fragmencie należy zastąpić to 'SET NODE_ENV = production &&' tym - 'SET NODE_ENV = production &&'. Wiem, że to głupie. Ale to, co mogłem zaoferować! : D – Mihir