Composizione di Task Gulp

I task di Gulp possono essere combinati in gruppi (composizioni), dove i task verranno eseguiti in sequenza o in parallelo.

Vediamo come si fa. Prendiamo come esempio i seguenti task:

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

Esecuzione Sequenziale

Per l'esecuzione sequenziale dei task è destinata la funzione series. Questa funzione accetta come parametri un numero qualsiasi di task e li esegue uno per volta nell'ordine in cui sono elencati.

Per prima cosa questa funzione deve essere importata dalla libreria Gulp:

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

Ora possiamo utilizzare questa funzione:

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

exports.default = taskD;

Si può anche esportare direttamente il risultato della funzione series, senza creare una funzione aggiuntiva per il task pubblico:

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

Crea tre task che vengono eseguiti in sequenza uno dopo l'altro.

Esecuzione Parallela

Per l'esecuzione parallela dei task è destinata l'analoga funzione parallel(). Vediamo come funziona.

Per prima cosa importiamola:

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

Utilizziamo la nostra funzione all'interno di un task pubblico:

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

exports.default = taskD;

Oppure esportiamo semplicemente il risultato:

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

Crea tre task che vengono eseguiti in parallelo.

Combinazioni

Le funzioni series e parallel() possono essere annidate l'una nell'altra in qualsiasi combinazione, ad esempio, in questo modo:

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

Crea cinque task. Inventa esempi di combinazioni con questi task.