我有以下配置:
// 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']);
如果我单独执行观察:" gulp watch"没有问题。如果我执行" gulp",监视已启动但无效,我不明白为什么(我尝试更改阵列中的位置但没有运气)。
答案 0 :(得分:0)
在您的示例中,它以异步方式运行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']);
答案 1 :(得分:0)
请尝试使用gulp.series()
和gulp.parallel()
而不是列表参数。
因此,您的示例如下所示:
// Watch
gulp.task('watch', function (done) {
gulp.watch('_01_src/js/**/*.js', function(){
gulp.series('babel')();
});
gulp.watch('_01_src/scss/**/*.scss', function(){
gulp.series('scss')();
});
done();
});
gulp.task('default', gulp.series(gulp.parallel('scss', 'babel'), 'watch'));
这样scss
和babel
将并行运行,而watch
之后将并行运行。