Gulp 狼吞虎咽-观察奇怪的行为

Gulp 狼吞虎咽-观察奇怪的行为,gulp,watch,Gulp,Watch,我有以下配置: // Watch gulp.task('watch', function () { gulp.watch('_01_src/js/**/*.js', ['babel']); gulp.watch('_01_src/scss/**/*.scss', ['scss']); }); gulp.task('default', ['scss', 'babel', 'watch']); 如果我单独执行watch,“吞咽watch”是没有问题的。如果我执行“gulp”,wa

我有以下配置:

// Watch
gulp.task('watch', function () {
    gulp.watch('_01_src/js/**/*.js', ['babel']);
    gulp.watch('_01_src/scss/**/*.scss', ['scss']);
});

gulp.task('default', ['scss', 'babel', 'watch']);

如果我单独执行watch,“吞咽watch”是没有问题的。如果我执行“gulp”,watch启动但不工作,我不明白为什么(我尝试更改数组中的位置,但没有运气)。

在您的示例中,它异步运行
scss
babel
watch
,这可能会导致问题。也许只需将
scss
babel
设置为在启动
watch
之前运行

// Watch
gulp.task('watch', ['scss', 'babel'], function () {
    gulp.watch('_01_src/js/**/*.js', ['babel']);
    gulp.watch('_01_src/scss/**/*.scss', ['scss']);
});

gulp.task('default', ['watch']);

尝试使用
gulp.series()
gulp.parallel()

因此,您的示例如下所示:

//手表
吞咽任务(“观察”,功能(完成){
gulp.watch(''u 01_src/js/***.js',function(){
吞咽系列(“巴别塔”)();
});
大口手表(“u 01_src/scss/***.scss”,函数(){
大口系列(“scss”)();
});
完成();
});
gulp.task('default',gulp.series(gulp.parallel('scss','babel'),'watch'));
这样,
scss
babel
将并行运行,
watch
将随后运行