Gulp中的任务依赖关系

Task Dependency in Gulp

本文关键字:依赖 关系 任务 Gulp      更新时间:2023-09-26

我有一个任务需要连续有序地执行另外两个任务。

所以当我运行build时,build首先运行task-a,当task-a完成时执行CCD_ 5。

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

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

正如官方文档中使用该格式所述,任务将并行运行(同时运行),因此不要假设任务将按顺序启动/完成

你必须明确定义任务的顺序如下,以使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

当前的gump任务将正确运行,它将运行task-a,然后运行task-b。不管出于什么原因,它都不会给你想要的东西。还有一个名为run-sequence的npm包(https://www.npmjs.com/package/run-sequence)你可以使用。

你的吞咽任务看起来像:

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

这将按照您传递的顺序执行您的任务。