Почистване на папка преди запазване в Gulp
Вероятно вече сте забелязали, че при запазване на файлове в папка, Gulp не изтрива предишните файлове от нея.
За да стане това, трябва да инсталирате специална добавка del.
Нека я инсталираме, като изпълним следната команда:
npm install del --save-dev
Тази добавка се различава от използваните досега
с това, че се използва извън веригата от
методи pipe. Затова в този случай
трябва да създадем група задачи: първата задача
ще се грижи за почистване на папката, а втората ще върши
полезната работа.
Нека за пример за полезна работа изберем минимизиране на CSS.
Нека включим всичко необходимо:
let {src, dest, series} = require('gulp');
let cleanCSS = require('gulp-clean-css');
let del = require('del');
Нека направим задача за почистване на папката dist:
function taskDel(cb) {
return del('dist/*');
}
Нека направим задача за минимизиране на CSS:
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
Нека изпълним серия от задачи:
exports.default = series(taskDel, taskCss);
Нека съберем всичко заедно и получим следния код:
function taskDel(cb) {
return del('dist/*');
}
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
exports.default = series(taskDel, taskCss);
Направете задача за минимизиране на JavaScript. Почиствайте папката преди всяко стартиране на задачата.
Направете група от три задачи: задача за почистване на папката, задача за минимизиране на CSS и задача за минимизиране на JavaScript. Определете кои задачи трябва да се изпълняват последователно, а кои - паралелно.