Вы уже наверняка обратили внимание на то, что при сохранении файлов в папку, 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. Определите, какие задачи должны выполнятся последовательно, а какие - параллельно.