Curățarea directorului înainte de salvarea în Gulp

Probabil ați observat deja faptul că, atunci când salvați fișierele într-un director, Gulp nu șterge fișierele anterioare din el.

Pentru ca acest lucru să se întâmple, trebuie să instalați un plugin special del.

Să-l instalăm, executând următoarea comandă:

terminalnpm install del --save-dev

Acest plugin diferă de cele pe care le-am folosit anterior prin faptul că este utilizat în afara lanțului de metode pipe. Prin urmare, în acest caz trebuie să creăm un grup de task-uri: primul task va fi pentru curățarea directorului, iar al doilea va face munca utilă.

Să alegem, de exemplu, ca muncă utilă minificarea CSS.

Să conectăm tot ce este necesar:

javascriptlet {src, dest, series} = require('gulp');
let cleanCSS = require('gulp-clean-css');
let del = require('del');

Să facem un task pentru curățarea directorului dist:

javascriptfunction taskDel(cb) {
  return del('dist/*');
}

Să facem un task pentru minificarea CSS:

javascriptfunction taskCss(cb) {
  return src('src/*.css')
    .pipe(cleanCSS())
    .pipe(dest('dist'));
}

Să executăm seria de task-uri:

javascriptexports.default = series(taskDel, taskCss);

Să adunăm totul la un loc și să obținem următorul cod:

javascriptfunction taskDel(cb) {
  return del('dist/*');
}
function taskCss(cb) {
  return src('src/*.css')
    .pipe(cleanCSS())
    .pipe(dest('dist'));
}

exports.default = series(taskDel, taskCss);
Задание 1

Creați un task pentru minificarea JavaScript. Curățați directorul înainte de fiecare executare a task-ului.

Задание 2

Creați un grup de trei task-uri: un task pentru curățarea directorului, un task pentru minificarea CSS și un task pentru minificarea JavaScript. Determinați care task-uri trebuie să fie executate secvențial, și care - în paralel.