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).