Выполнить задание gulp в обратном вызове chokidar.on()
Задача "Копировать изображения" копирует ВСЕ файлы изображений при первом запуске. Затем задача "Смотреть исходные файлы" просматривает исходную папку изображений и imagesWatcher.on('add)
перехватывает добавленные файлы. Как я могу вызвать 'Копировать изображения' из обратного вызова 'wathcer.on()'?
Обратите внимание, что имя задачи gulp в случае верблюда является нежелательным ограничением. я знаю это gulp.run
был удален в gulp4, однако здесь это может быть очень удобно.
gulp.task('Copy images', () => {
// ...
})
gulp.task('Watch source files, () => {
let imagesWatcher = gulp.watch('src/images/**/*.*');
watcher.on('add', function(path, stats) {
// How to call 'Copy images'?
});
})
1 ответ
Просто сделайте вашу задачу "Копировать изображения" в функцию (это особенно приятно в gulp4) так:
function Copy_Images() {
return gulp.src(paths.images.src)
.pipe(newer(paths.images.dist))
.pipe(gulp.dest(paths.images.dist));
}
function Watch_Source_Files() {
let imagesWatcher = gulp.watch('src/images/**/*.*');
watcher.on('add', function(path, stats) {
// How to call 'Copy images'?
Copy_Images();
});
}
Это так просто с именами функций. Не уверен, что вы подразумеваете под "решением с псевдонимами" в этом контексте.