Čiščenje mape pred shranjevanjem v Gulp

Verjetno ste že opazili, da Gulp pri shranjevanju datotek v mapo ne izbriše prejšnjih datotek iz nje.

Da bi se to zgodilo, morate namestiti poseben vtičnik del.

Namestimo ga z naslednjim ukazom:

terminalnpm install del --save-dev

Ta vtičnik se razlikuje od prej uporabljenih po tem, da se uporablja zunaj verige metod pipe. Zato moramo v tem primeru ustvariti skupino nalog: prva naloga bo čistila mapo, druga pa bo opravljala uporabno delo.

Za primer izberimo minimizacijo CSS kot uporabno delo.

Povežimo vse potrebno:

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

Naredimo nalogo za čiščenje mape dist:

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

Naredimo nalogo za minimizacijo CSS:

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

Izvedemo serijo nalog:

javascriptexports.default = series(taskDel, taskCss);

Vse skupaj sestavimo in dobimo naslednjo kodo:

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

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

Naredite nalogo za minimizacijo JavaScript. Pred vsakim zagonom naloge očistite mapo.

Задание 2

Naredite skupino treh nalog: nalogo za čiščenje mape, nalogo za minimizacijo CSS in nalogo za minimizacijo JavaScript. Določite, katere naloge naj se izvajajo zaporedno, katere pa vzporedno.