gulp Fehlerbehandlung für abhängige Aufgabe

8

Finden Sie den Inhalt von gulpfile.js wie folgt:

Die Aufgabe uglify hängt von der Aufgabe jshint ab. Wenn ich gulp ausführen werde, werden beide Aufgaben ausgeführt, unabhängig vom Ergebnis der jshint Aufgabe. Ich möchte nicht, dass die uglify -Aufgabe ausgeführt wird, wenn "jshint" -Fehler vorliegen.

Mit anderen Worten, wenn es abhängige Aufgaben gibt, möchte ich nicht, dass die nachfolgenden Aufgaben ausgeführt werden, wenn ein Fehler von der vorhergehenden Aufgabe erkannt wird.

Ist das in gulp möglich?

%Vor%

Siehe unten console output - not desired . Obwohl der jshint Fehler aufgetreten war, wurde die uglify Aufgabe erfolgreich ausgeführt.

Ich habe auch ein GitHub-Repository mit dem Standardcode für die oben genannten erstellt. Finden Sie das gleiche unter @ sarbbottam / gulp-workflow .

Konsole aus dem unerwünschten Workflow heraus

Konsole außerhalb des erwarteten Workflows

    
sarbbottam 26.07.2014, 01:58
quelle

2 Antworten

7

Für JSHint gibt es zu diesem Zweck einen eingebauten Reporter, fail . Wenn ein Fehler auftritt, wird Ihr gulp Prozess gestoppt.

Sie müssen nur Ihr task like:

neu definieren %Vor%

Mit anderen Aufgaben können Sie error callback hinzufügen und den Prozess beenden, um zu verhindern, dass nachfolgende Aufgaben ausgeführt werden.

Hier ist ein Beispiel mit ngmin (Ursache uglify ist schwer zu brechen, aber es wird das gleiche sein):

%Vor%     
Aperçu 26.07.2014, 08:34
quelle
3

Um Aperçus Antwort zu vervollständigen, wenn Sie nicht möchten, dass Schluck nur beendet wird (weil Sie den Beobachter laufen lassen), können Sie Folgendes tun:

%Vor%

Dies verhindert, dass die nächste Aufgabe, die von dieser abhängt, ausgeführt wird, aber Ihre Beobachter weiterhin ausgeführt werden.

    
Denis Pshenov 01.12.2015 20:12
quelle

Tags und Links