Warum lösen neu hinzugefügte Dateien meine gulp-watch-Aufgabe nicht aus?

9

Ich habe eine Schluckaufgabe, die Bilder mit gulp-imagemin komprimiert. Wenn ich diesem Verzeichnis neue Dateien hinzufüge, möchte ich diese Aufgabe ebenfalls komprimieren. Ich lese, dass gulp.watch nicht auf neu auslöst Dateien und dass ich Schluckaufpassen sollte, also habe ich es so benutzt;

%Vor%

Dies funktioniert genauso wie gulp.watch beim ersten Durchlauf, aber wenn ich ein neues Bild zum Verzeichnis hinzufüge, passiert nichts. Wenn ich jedoch eine vorhandene Datei überschreibe, wird die Task erneut ausgeführt, so dass sie sich anders verhält.

Die Dokumentation von gulp-watch hat diesen "Batch-Modus" genannt und gesagt, dass ich die Aufgabe auch pro Datei ausführen könnte, also habe ich das auch versucht;

%Vor%

Aber nichts hat sich geändert. Warum werden meinem Bildverzeichnis keine Dateien hinzugefügt, die die Aufgabe auslösen?

    
arkanciscan 19.06.2014, 00:04
quelle

2 Antworten

8

Wahrscheinlich werden solche Fragen auf das Blick -Paket und seine internen Prozesse umgeleitet, die komplizierte Überwachungsverfahren auf Ihrem Betriebssystem ausführen. In diesem Fall sollten Sie die Option images/**/* an glob übergeben, damit gain alle (einschließlich neuer) Dateien im images-Verzeichnis sieht:

%Vor%

Aber diese Füllung nicht Fix Fall, wenn Sie leere Bilder Verzeichnis haben. Wenn Sie sie sehen wollen, übergeben Sie ['images', 'images/**/*'] an glob, und es wird das Verzeichnis sehen, das anfangs leer ist.

P. s. Außerdem brauchst du in diesem Fall nicht gulp-plumber , da die Funktion watch erneut ausgeführt wird und imagemin jedes Mal verwendet wird, auch wenn imagemin einen Fehler verursacht.

    
floatdrop 19.06.2014, 02:59
quelle
16

Hinzufügen eines zusätzlichen Arguments {cwd:'./'} in gulp.watch hat für mich funktioniert:

%Vor%

2 Dinge , damit dies funktioniert:

1 Vermeiden Sie ./ in den Datei- / Ordnermustern

2 Stellen Sie ./ im Wert für cwd

sicher

Viel Glück.

Hinweis: - Zypern

    
Akash 11.06.2016 14:00
quelle