Mam zadanie, które wykorzystuje Gulp-imagemin do kompresowania obrazów. Kiedy dodaję nowe pliki do tego katalogu, chciałbym, aby to zadanie również je skompresowało. Czytałem, że gulp.watch doesn't trigger on new files i że powinienem spróbować łykać-oglądać, więc użyłem go tak;Dlaczego nowo dodane pliki nie uruchamiają mojego zadania gulp-watch?
gulp.task('images', function() {
watch({glob: './source/images/*'}, function (files) {
return files
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
});
Działa to tak samo jak gulp.watch przy pierwszym uruchomieniu, ale po dodaniu nowego obrazu do katalogu nic się nie dzieje. Jeśli jednak nadpisze istniejący plik, JEDEN uruchamia to zadanie ponownie, więc zachowuje się inaczej.
Dokumentacja na Gulp-Watch nazywała to "Tryb wsadowy" i powiedziała, że mogę również uruchomić to zadanie dla każdego pliku, więc próbowałem również;
gulp.task('images', function() {
gulp.src('./source/images/*')
.pipe(watch())
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
Ale nic się nie zmieniło. Dlaczego nie dodajesz plików do katalogu obrazów uruchamiając zadanie?
możliwe duplikat [łykami nie gulp.watch uruchamia nowe lub usunięte pliki?] (Http://stackoverflow.com/questions/22391527/gulps-gulp-watch-not-triggered -do-nowych-lub-usuniętych-plików) – Rimian