gulp:顺序任务执行

gulp:顺序任务执行,gulp,Gulp,我想通过gulp来编译sass,然后为生产使用uglifycss。试一试 gulp.task('build', ['sass', 'min-css'], function(){ // ... }); 我在控制台中有以下报告: [16:44:06] Starting 'sass'... [16:44:06] Starting 'min-css'... [16:44:22] Finished 'sass' after 16 s [16:44:22] Finished 'min-css'

我想通过
gulp
来编译
sass
,然后为生产使用uglify
css
。试一试

gulp.task('build', ['sass', 'min-css'], function(){

    // ...

});
我在控制台中有以下报告:

[16:44:06] Starting 'sass'...
[16:44:06] Starting 'min-css'...
[16:44:22] Finished 'sass' after 16 s
[16:44:22] Finished 'min-css' after 16 s
[16:44:22] Starting 'build'...
[16:44:22] Finished 'build' after 6.2 ms
如您所见,
mincss
任务在
sass
任务结束之前开始。虽然没有任何错误,但此任务序列不正确。我需要
sass
mincss
开始之前完成。

:“注意:任务将并行运行(一次完成),因此不要假设任务将按顺序开始/完成。”因此,mincss任务可能会在sass任务之前开始或完成

有两种主要方法可以解决这个问题

(1) 使“最小css”任务依赖于“sass”任务。差不多

// identifies a dependent task must be complete before this one begins

gulp.task('min-css', ['sass'], function() {
    // task 'sass' is done now
});
(2) 使用针对此问题设计的插件,如

按指定顺序运行一系列吞咽任务。此函数用于解决已定义运行顺序但选择不使用或无法使用依赖项的情况

(3) 您还可以尝试使用gulp4.0,它具有gulp.series和gulp.parallel函数,使这些操作更简单。Gulp4在技术上处于测试阶段。

:“注意:任务将并行运行(一次完成),因此不要假设任务将按顺序启动/完成。”因此,您的min css任务可能会在sass任务之前启动或完成

有两种主要方法可以解决这个问题

(1) 使“最小css”任务依赖于“sass”任务。差不多

// identifies a dependent task must be complete before this one begins

gulp.task('min-css', ['sass'], function() {
    // task 'sass' is done now
});
(2) 使用针对此问题设计的插件,如

按指定顺序运行一系列吞咽任务。此函数用于解决已定义运行顺序但选择不使用或无法使用依赖项的情况


(3) 您还可以尝试使用gulp4.0,它具有gulp.series和gulp.parallel函数,使这些操作更简单。从技术上讲,Gulp4是测试版。

非常感谢您的回答<代码>运行序列在伟大的插件中。非常感谢您的回答<代码>运行序列在伟大的插件中。