0

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

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

每次将新文件添加到 SOURCE 目录时,我都会收到“总线错误:10”,并且手表会中断而不会复制新添加的文件。

4

2 回答 2

0

请您使用此语法在 gulp 中添加新文件

gulp.task('task_name', function() {
    return watch({
      glob: SOURCE
    }, function(files) {
      return files.pipe(plumber()).pipe(jade()).pipe(gulp.dest(DESTINATION));
    });
});
于 2014-07-05T12:02:15.617 回答
-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依赖关系,每当调用监视时,这将调用移动任务,而不是等待监视目录中的某些内容发生更改。

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

于 2014-07-05T19:39:05.323 回答