添加新文件时gulp-watch中断

时间:2014-07-05 11:32:39

标签: gulp gulp-watch

我正在使用gulp-watch插件,并希望将源中新添加的文件复制到目标目标。

watch({glob:SOURCE + '/**/*.js'})
    .pipe(plumber())
    .pipe(gulp.dest(DESTINATION));

每次在SOURCE目录中添加新文件时,我都会得到"总线错误:10"并且手表在不复制新添加的文件的情况下中断。

2 个答案:

答案 0 :(得分:0)

请注意在gulp中添加新文件的语法

gulp.task('task_name', function() {
    return watch({
      glob: SOURCE
    }, function(files) {
      return files.pipe(plumber()).pipe(jade()).pipe(gulp.dest(DESTINATION));
    });
});

答案 1 :(得分:-1)

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作为依赖项,每次调用监视时都会调用move任务,而不是等待监视目录中的某些内容发生更改。

我为了清晰起见重复了glob,但这应该存储在一个变量中。