Limpando uma pasta antes de salvar no Gulp
Você provavelmente já notou que, ao salvar arquivos em uma pasta, o Gulp não remove os arquivos anteriores dela.
Para que isso aconteça, é necessário instalar um plugin especial chamado del.
Vamos instalá-lo executando o seguinte comando:
npm install del --save-dev
Este plugin é diferente dos que usamos
anteriormente porque é usado fora da cadeia de
métodos pipe. Portanto, neste caso,
devemos criar um grupo de tarefas: a primeira tarefa
será para limpar a pasta e a segunda fará o
trabalho útil.
Vamos escolher, por exemplo, a minificação de CSS como trabalho útil.
Vamos conectar tudo que é necessário:
let {src, dest, series} = require('gulp');
let cleanCSS = require('gulp-clean-css');
let del = require('del');
Vamos criar uma tarefa para limpar a pasta dist:
function taskDel(cb) {
return del('dist/*');
}
Vamos criar uma tarefa para minificar CSS:
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
Vamos executar uma série de tarefas:
exports.default = series(taskDel, taskCss);
Juntando tudo, obtemos o seguinte código:
function taskDel(cb) {
return del('dist/*');
}
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
exports.default = series(taskDel, taskCss);
Crie uma tarefa para minificar JavaScript. Limpe a pasta antes de cada execução da tarefa.
Crie um grupo de três tarefas: uma tarefa para limpar a pasta, uma tarefa para minificar CSS e uma tarefa para minificar JavaScript. Determine quais tarefas devem ser executadas sequencialmente e quais podem ser executadas em paralelo.