Javascript 在同一个源上连续完成4个任务

Javascript 在同一个源上连续完成4个任务,javascript,gulp,gulp-watch,gulp-4,Javascript,Gulp,Gulp Watch,Gulp 4,我编辑我的gulpfile,如下所示: gulp.task('watch', function() { gulp.watch('**/*.html', gulp.series('htmlcomb')); gulp.watch('css/**/*.scss', gulp.series('csscomb')); gulp.watch('css/**/*.scss', gulp.series('cssmin')); gulp.watch('js/**/*

我编辑我的gulpfile,如下所示:

gulp.task('watch', function() {
    gulp.watch('**/*.html', gulp.series('htmlcomb'));
    gulp.watch('css/**/*.scss', gulp.series('csscomb'));
    gulp.watch('css/**/*.scss', gulp.series('cssmin'));        
    gulp.watch('js/**/*.js', gulp.series('jsmin'));
});
但当我大口大口喝的时候,它会在csscomb之后停止。当我编辑scss文件时。它只是梳子而已


我可以异步运行htmlcomb、jsmin和(cssbomb+cssmin)。但是我需要在csscomb之后运行cssmin。

如果您希望csscomb在cssmin之前运行,只需使用:

gulp.task('watch', function() {
    gulp.watch('**/*.html', gulp.series('htmlcomb'));

    gulp.watch('css/**/*.scss', gulp.series('csscomb', 'cssmin'));

    gulp.watch('js/**/*.js', gulp.series('jsmin'));
});
实际上,如果您使用的是gulp4.0,那么您的函数可以是以下形式:

function csscomb() {
  return gulp.src(…...)
    .pipe.....)
    .pipe(gulp.dest(…...));
}
因此,您的监视任务正在调用函数,而不是任务,如下所示:

gulp.task('watch', function() {
    gulp.watch('**/*.html', gulp.series(htmlcomb));

    gulp.watch('css/**/*.scss', gulp.series(csscomb, cssmin));

    gulp.watch('js/**/*.js', gulp.series(jsmin));
});