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:
function 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:
const { series } = require('gulp');
Ora possiamo utilizzare questa funzione:
function 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:
exports.default = series(task1, task2);
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:
const { parallel } = require('gulp');
Utilizziamo la nostra funzione all'interno di un task pubblico:
function taskD(cb) {
parallel(task1, task2);
cb();
}
exports.default = taskD;
Oppure esportiamo semplicemente il risultato:
exports.default = parallel(task1, task2);
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:
exports.default = series(task1, parallel(task2, task3));
Crea cinque task. Inventa esempi di combinazioni con questi task.