gulp watch将文件复制两次到不同的位置

时间:2014-09-24 11:05:49

标签: javascript gulp gulp-watch

从昨天起,我的gulp-watch任务开始发生一些奇怪的事情。 Afaik,我所做的就是更改目的地,但我可以使用下面发布的简单gulpfile重现:

我有这样的文件结构:

src/html/stuff/file.html
src/js/something/file.js

每当有更改时我想在构建文件夹中重新选择它,但是当我运行下面的gulp watch:stuff时,我得到以下输出:

build/html/stuff/file.html
build/stuff/file.html
build/js/something/file.js
  • 额外的build/stuff/file.html文件来自何处?
  • 我的手表功能有什么问题?

gulpfile

var gulp = require('gulp');
var watch = require('gulp-watch');

gulp.task('watch:stuff', function () {
    var pattern = ['src/html/**/*.html', 'src/js/**/*.js'];

    gulp.src(pattern, { base : './src/' })
    .pipe(watch({glob: pattern, emit : 'all', verbose: true},
                function(files) {
                    files.pipe(gulp.dest('./build'));
                }
               )
         );
});

使用gulp(3.8.8),gulp-watch(0.7.0)

1 个答案:

答案 0 :(得分:2)

删除base选项,可能会以某种方式混淆gulp.src,我不知道。