尝试让自定义观察者工作:
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'));
});
似乎没有改变结果
答案 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'));
});