首页 > 解决方案 > 从 gulp 版本 3 转换到 gulp 版本 4 时面临的问题

问题描述

gulp 版本 3中,我的helpgulp 任务定义为:

gulp.task('help', function() {
 var command = chalk.bold.green;
 console.log(command('gulp build-task') + ': runs certain build tasks');
});

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

我执行以下操作将其转换为gulp 版本 4

gulp.task('help', function() {
 var command = chalk.bold.green;
 console.log(command('gulp build-task') + ': runs certain build tasks');
});

gulp.task('default', gulp.series('help'));

在运行gulp时,我看到以下错误

[01:58:01] The following tasks did not complete: default, help
[01:58:01] Did you forget to signal async completion?

另外,我希望help任务先运行,然后default. 在我的版本 4 示例中,default首先运行。

有人可以帮我吗?谢谢!

标签: gulp

解决方案


有许多方法可以表示任务完成。最简单的一个 - 你的函数应该返回承诺(使用异步函数):

gulp.task('help', async function() {
   var command = chalk.bold.green;
   console.log(command('gulp build-task') + ': runs certain build tasks');
});

gulp.task('default', gulp.series('help'));

稍作清理后:

async function help() {
    const command = chalk.bold.green;
    console.log(command('gulp build-task') + ': runs certain build tasks');
};

gulp.task('default', gulp.series(help));

推荐阅读