Composition de tâches Gulp

Les tâches Gulp peuvent être regroupées en compositions (compostions), dans lesquelles les tâches seront exécutées séquentiellement ou en parallèle.

Voyons comment cela se fait. Pour exemple, prenons les tâches suivantes :

javascriptfunction task1(cb) {
  cb();
}
function task2(cb) {
  cb();
}

Exécution séquentielle

Pour l'exécution séquentielle des tâches, la fonction series est destinée. Cette fonction prend comme paramètres un nombre quelconque de tâches et les exécute l'une après l'autre dans l'ordre d'énumération.

Pour commencer, cette fonction doit être importée de la bibliothèque Gulp :

javascriptconst { series } = require('gulp');

Maintenant, nous pouvons utiliser cette fonction :

javascriptfunction taskD(cb) {
  series(task1, task2);
  cb();
}

exports.default = taskD;

On peut exporter immédiatement le résultat du travail de series, sans créer de fonction supplémentaire pour la tâche publique :

javascriptexports.default = series(task1, task2);
Задание 1

Créez trois tâches s'exécutant séquentiellement l'une après l'autre.

Exécution parallèle

Pour l'exécution parallèle des tâches, la fonction similaire parallel() est destinée. Regardons son fonctionnement.

Commençons par l'importer :

javascriptconst { parallel } = require('gulp');

Utilisons notre fonction à l'intérieur d'une tâche publique :

javascriptfunction taskD(cb) {
  parallel(task1, task2);
  cb();
}

exports.default = taskD;

Ou exportons simplement le résultat du travail :

javascriptexports.default = parallel(task1, task2);
Задание 2

Créez trois tâches s'exécutant en parallèle.

Combinaisons

Les fonctions series et parallel() peuvent être imbriquées l'une dans l'autre dans n'importe quelle combinaison, par exemple, comme ceci :

javascriptexports.default = series(task1, parallel(task2, task3));
Задание 3

Créez cinq tâches. Trouvez des exemples de combinaisons avec ces tâches.