Nadal nie rozumiem, jak to właściwie rozwiązuje bieżące pytanie.
Jeśli mam 4 zadania ze zdefiniowanymi zależnościami między nimi
A, B, C, D
gdzie A zależy od B itd., jak zdefiniowano w, gulp.task('A',['B'],function A(){});
a następnie zdefiniowałem nowe zadanie za pomocą gulp.watch, uruchamiając tylko funkcje, które zduplikowałyby zależności.
np. mając te zadania (każda funkcja zadań ujawniona przez nazwę):
function A(){}
gulp.task('A',['B'],A);
function A(){}
gulp.task('A',['B'],A);
function B(){}
gulp.task('B',['C'],B);
function C(){}
gulp.task('C',['D'],C);
function D(){}
gulp.task('D',[],D);
mogę napisać 1)
gulp.task('WATCHER', ['A'], function(){
...
}
który wykona A-> D, ale jeśli np. krok B zawiedzie, nigdy nie wejdzie do zadania (pomyśl o błędzie kompilacji lub testu)
czy mogę napisać 2)
gulp.task('WATCHER', [], function(){
gulp.watch(...,['A'])
}
który nie działałby A-> D dopóki coś nie zostało zmienione.
czy mogę napisać 3)
gulp.task('WATCHER', [], function(){
D();
C();
B();
A();
gulp.watch(...,['A'])
}
co spowodowałoby powielenie (i błędy w czasie) hierarchii zależności.
PS: W przypadku, gdy ktoś zastanawia się, dlaczego chciałbym, aby moje zadanie zegarka zostało wykonane, jeśli którekolwiek z zadań zależnych się nie powiedzie, jest to zwykle spowodowane tym, że używam zegarka do programowania na żywo. na przykład. Rozpoczynam zadanie zegarka, aby rozpocząć pracę nad testami itp. i może się zdarzyć, że początkowy kod, z którym zaczynam, ma już problemy, a zatem błędy.
Mam więc nadzieję, że łyk lub coś podobnego pozostanie na jakiś czas
scripts
, ale sensowne jest też wymuszenie uruchomienia tego zadania od razu (bez czekania, aż jakiś plik skryptu się zmieni).