#gulp #gulp-watch
#gulp #gulp-просмотр
Вопрос:
Я использую плагин gulp-watch и хотел бы скопировать недавно добавленные файлы из исходного кода в целевое назначение.
watch({glob:SOURCE '/**/*.js'})
.pipe(plumber())
.pipe(gulp.dest(DESTINATION));
Каждый раз, когда в ИСХОДНЫЙ каталог добавляется новый файл, я получаю «Ошибка шины: 10», и просмотр прерывается без копирования вновь добавленного файла.
Ответ №1:
Пожалуйста, обратите внимание на этот синтаксис для добавления новых файлов в gulp
gulp.task('task_name', function() {
return watch({
glob: SOURCE
}, function(files) {
return files.pipe(plumber()).pipe(jade()).pipe(gulp.dest(DESTINATION));
});
});
Ответ №2:
gulp.watch
не создает исходный поток, он запускается при изменениях файла и вызывает задачи.
Попробуйте создать простую задачу перемещения наряду с задачей просмотра, затем запустите перемещение из просмотра. Что-то вроде этого:
gulp.task('move-js', function() {
gulp.src('./js-src/**/*.js')
.pipe(gulp.dest('./js-dest'));
});
gulp.task('watch-js', ['move-js'], function() {
gulp.watch('./js-src/**/*.js', ['move-js']);
});
Обратите внимание, что watch-js
задача имеет move-js
зависимость, это вызовет задачу перемещения при каждом вызове просмотра, вместо ожидания изменения чего-либо в просматриваемом каталоге.
Я повторил глобус для наглядности, но это, вероятно, следует сохранить в переменной.
Комментарии:
1. Я использую плагин gulp-watch npmjs.org/package/gulp-watch не входит в комплект поставки gulp.