gulp-просмотр прерывается при добавлении новых файлов

#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.