Aurelia定制gulp观察者

时间:2016-09-19 10:13:47

标签: node.js gulp aurelia

尝试让自定义观察者工作:

var gulp = require('gulp'),
    shell = require('gulp-shell');

gulp.task('run-au', shell.task(['au build']));

gulp.task('build', gulp.series('run-au', () => {
   return gulp.src('./wwwroot/**/*.*')
               .pipe(gulp.dest('../Something.Api/wwwroot'));
}));

gulp.task('watch', () => {
    gulp.watch('./src/**/*.*').on('change', gulp.series('build'));
});

非常简单,当我在src中更改某些内容时,它会起作用,但当它检测到更改时,它会进入循环构建周期,并在此处继续运行build

附加

我看到environment.js似乎正在更新,这可能会影响手表,从而创建循环构建,但是甚至更改为:

gulp.task('watch', () => {
    gulp.watch(['./src/**/*.*', '!./src/env*.*']).on('change', gulp.series('build'));
});

似乎没有改变结果

1 个答案:

答案 0 :(得分:0)

在文件中说明:

  

gulp.watch(globs [,opts] [,fn])

     

OPTS

     

输入:Object

     

queue(布尔值,默认值:true)。如果fn已经在运行,文件更改是否应该对fn执行进行排队。适用于长期运行的fn。

所以我补充道:

gulp.task('watch', () => {
    gulp.watch(['./src/**/*.*', '!./src/env*.*'], {queue: false}, gulp.series('build'));
});