Katalogo valymas prieš išsaugojimą naudojant Gulp

Tikriausiai jau pastebėjote, kad išsaugant failus į katalogą, Gulp neištrina ankstesnių failų iš jo.

Kad tai vyktų, reikia įdiegti specialų įskiepį del.

Įdiegkime jį, vykdydami šią komandą:

terminalnpm install del --save-dev

Šis įskiepis skiriasi nuo anksčiau naudotų tuo, kad jis naudojamas už metodų grandinės pipe ribų. Todėl šiuo atveju turime sukurti užduočių grupę: pirmoji užduotis bus skirta katalogo valymui, o antroji – atliks naudingą darbą.

Pavyzdžiui, kaip naudingą darbą pasirinkime CSS minimizavimą.

Prijunkime viską, ko reikia:

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

Sukurkime užduotį katalogo dist valymui:

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

Sukurkime užduotį CSS minimizavimui:

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

Vykdykime užduočių seriją:

javascriptexports.default = series(taskDel, taskCss);

Sujunkime viską kartu ir gausime tokį kodą:

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

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

Sukurkite užduotį JavaScript minimizavimui. Prieš kiekvieną užduoties paleidimą valykite katalogą.

Задание 2

Sukurkite trijų užduočių grupę: užduotį katalogo valymui, užduotį CSS minimizavimui ir užduotį JavaScript minimizavimui. Nustatykite, kurios užduotys turi būti vykdomos nuosekliai, o kurios – lygiagrečiai.