Gulp中的任务依赖

时间:2015-12-15 09:21:44

标签: javascript gulp

我有一项需要连续按顺序执行其他两项任务的任务。

因此,当我运行build时,build先运行task-atask-a完成时 task-b已执行。

目前我正在使用这个脚本,我想确认是正确的。

 gulp.task('build', [
        'task-a',
        'task-b'
    ]);

2 个答案:

答案 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-sequencehttps://www.npmjs.com/package/run-sequence)的npm包。

你的gulp任务看起来像是:

gulp.task('runTasks', function () {
    runSequence('task-a', 'task-b', 'task-c');
});

然后按照你传递的顺序执行你的任务。