Ich sehe immer noch nicht, wie dies die vorliegende Frage tatsächlich löst.
Wenn ich 4 Aufgaben habe, zwischen denen Abhängigkeiten definiert sind
A B C D
Dabei hängt A von B usw. ab, wie durch definiert, gulp.task('A',['B'],function A(){});
und dann habe ich mit gulp.watch eine neue Aufgabe definiert, bei der nur die Funktionen ausgeführt werden, um die Abhängigkeiten zu duplizieren.
zB gegeben diese Aufgaben (jede Aufgabenfunktion wird über den Namen angezeigt):
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);
ich kann schreiben 1)
gulp.task('WATCHER', ['A'], function(){
...
}
Dies würde A-> D ausführen, aber wenn z. B. Schritt B fehlschlägt, würde es niemals in die Aufgabe eintreten (denken Sie an Kompilierungs- oder Testfehler).
oder ich kann schreiben 2)
gulp.task('WATCHER', [], function(){
gulp.watch(...,['A'])
}
die nicht A-> D laufen würde, bis etwas zuerst geändert wurde.
oder ich kann schreiben 3)
gulp.task('WATCHER', [], function(){
D();
C();
B();
A();
gulp.watch(...,['A'])
}
Dies würde zu Duplikaten (und Fehlern im Laufe der Zeit) der Abhängigkeitshierarchie führen.
PS: Falls sich jemand fragt, warum ich möchte, dass meine Überwachungsaufgabe ausgeführt wird, wenn eine der abhängigen Aufgaben fehlschlägt, liegt dies normalerweise daran, dass ich watch für die Live-Entwicklung verwende. z.B. Ich starte meine Überwachungsaufgabe, um mit der Arbeit an Tests usw. zu beginnen, und es kann sein, dass der ursprüngliche Code, mit dem ich beginne, bereits Probleme aufweist, also Fehler.
Also würde ich hoffen, dass der Schlucklauf oder ein gleichwertiges Produkt für einige Zeit bleibt
scripts
, aber es ist auch sinnvoll, diese Aufgabe sofort zu erzwingen (ohne zu warten, bis sich einige Skriptdateien ändern).