我有一项需要连续按顺序执行其他两项任务的任务。
因此,当我运行build
时,build
先运行task-a
,task-a
完成时
task-b
已执行。
目前我正在使用这个脚本,我想确认是正确的。
gulp.task('build', [
'task-a',
'task-b'
]);
答案 0 :(得分:1)
正如具有该格式的官方文档中所述,任务will run in parallel (all at once), so don't assume that the tasks will start/finish in order.
您必须明确定义任务的顺序,以使Gulp锻炼正确的顺序:
gulp.task('task-a', function(){ ... });
gulp.task('task-b', ['task-a'], function(){ ... });
gulp.task('build', ['task-a', 'task-b'], function(){ ... });
此时您将尝试运行build
Gulp将构建task-b
依赖task-a
完成的任务和训练的依赖关系树,以便在执行之前完成。
可在此处找到更完整的示例:https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md
答案 1 :(得分:0)
您当前拥有的当前gulp任务将正确运行,它将运行task-a
然后运行task-b
。无论出于何种原因,它都没有回馈你想要的东西。您还可以使用名为run-sequence
(https://www.npmjs.com/package/run-sequence)的npm包。
你的gulp任务看起来像是:
gulp.task('runTasks', function () {
runSequence('task-a', 'task-b', 'task-c');
});
然后按照你传递的顺序执行你的任务。