Nazywamy Gulp z naszego pliku csproj
jak używamy Visual Studio 2013 dla tego projektu:Run npm zainstalować tylko w razie potrzeby i/lub częściowo
<Target Name="AfterBuild">
<Exec Command="gulp" />
</Target>
Ponieważ jednak nadal umacnianie tego świeży projekt, często rozszerzamy gulpfile.js
, aby zawierał nowe pakiety. Dev wykona np. npm install gulp-util --save-dev
i napisz nowe zadanie, a wszystko będzie dobrze.
Deweloper sprawdza następnie gulpfile.js
i packages.json
w naszym VCS. Obecnie:
- Teamcity ma dodatkowy etap budowy
npm install
; - Każdy programista musi ręcznie uruchomić
npm install
;
Konieczności pamiętać coś, co ma być zrobione ręcznie nie jest doskonałym miejscem, aby być w. W pewnym momencie mieliśmy to w naszym pliku wewnątrz Task
csproj
...
<Exec command="npm install" />
... tuż przed wersją gulp
, więc programiści nie mogli "zapomnieć" o podjęciu tego ręcznego kroku. Jednak może to zająć jedną lub nawet kilka sekund na każdej (re) kompilacji, co jest denerwujące.
Czy istnieje lepszy sposób rozwiązania tego problemu? W jaki sposób obsłużyć aktualizacje packages.json
w projektach, w których duże (ish) zespoły rozwijają się przy użyciu Visual Studio?
Co powiesz na wywołanie 'npm install' na' AfterRebuild' zamiast 'AfterBuild'? – KMoraz
Rozważałem to, ale to sprawia, że jest to mało znane doświadczenie programisty. Na przykład. Konsekwencją jest to, że po ostatnim wykupieniu tego projektu zwykła 'Kompilacja' nie * spowodowałaby *' npm install' i tym samym nie powiedzie się. Ale nadal obejście problemu, jeśli nie przyjdzie nam na to żadne prawdziwe rozwiązanie ... – Jeroen