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 habe gelesen, dass gulp.watch doesn't trigger on new files und dass ich Schluck-Uhr versuchen sollte, also habe ich es so verwendet;Warum lösen neu hinzugefügte Dateien meine gulp-watch-Aufgabe nicht aus?
gulp.task('images', function() {
watch({glob: './source/images/*'}, function (files) {
return files
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
});
Dies funktioniert genauso wie gulp.watch auf dem ersten Lauf, aber wenn ich ein neues Bild in das Verzeichnis, es passiert nichts hinzuzufügen. Wenn ich jedoch eine vorhandene Datei überschreibe, führt sie die Task erneut aus, so dass sie sich anders verhält.
Die Dokumentation auf gulp-watch nannte diese "Batch-Modus" und sagte, ich könnte die Aufgabe auch auf einer Datei-Basis ausführen, also habe ich auch diesen Weg versucht;
gulp.task('images', function() {
gulp.src('./source/images/*')
.pipe(watch())
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
Aber nichts hat sich geändert. Warum werden meinem Bildverzeichnis keine Dateien hinzugefügt, die die Aufgabe auslösen?
möglich Duplikat [Gulps gulp.watch nicht für neue oder gelöschte Dateien ausgelöst?] (Http://stackoverflow.com/questions/22391527/gulps-gulp-watch-not-triggered -for-new-or-deleted-files) – Rimian