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