⊗tlGpBsFW 14 of 14 menu

Monitoramento de alterações de documentos no Gulp

Não é muito conveniente chamar um comando no console toda vez que precisamos executar alguma transformação - afinal, ao escrever código, isso precisa ser feito com muita frequência.

Portanto, o Gulp possui uma função embutida watch para monitorar alterações de arquivos. Quando qualquer um dos arquivos monitorados for alterado, a tarefa correspondente será executada automaticamente.

Vamos ver um exemplo de transformação de LESS para CSS. Primeiro, vamos importar tudo que é necessário:

let {src, dest, watch} = require('gulp'); let less = require('gulp-less');

Agora vamos criar uma tarefa para a transformação:

function task(cb) { return src('src/*.less') .pipe(less()) .pipe(dest('dist')); }

Agora vamos exportar uma função anônima, dentro da qual monitoraremos as alterações dos nossos arquivos, chamando nossa tarefa neste caso:

exports.default = function() { watch('src/*.less', task); };

Após a execução, uma tarefa "eterna" ficará rodando no terminal. Isso significa que não será possível inserir outros comandos neste terminal. Para interromper a execução de tal tarefa, pressione no terminal a combinação Ctrl + C.

É possível monitorar diferentes grupos de arquivos, associando a eles diferentes tarefas:

exports.default = function() { watch('src/*.less', task1); watch('src/*.sass', task1); };

Ou pode-se executar uma série de tarefas para um mesmo grupo:

exports.default = function() { watch('src/*.less', series(task1, task2)); };

Suponha que você tenha um grupo de arquivos JavaScript. Configure para que esses arquivos sejam mesclados em um único arquivo e, em seguida, seja realizada a minificação desse arquivo. Configure para que a tarefa seja executada quando qualquer um dos nossos arquivos for alterado.

bydeenesfrptru