Наблюдение за изменениями Gulp
В Gulp
встроена специальная функция watch
для наблюдения за изменением файлов. При изменении любого из отслеживаемых файлов соответствующая задача будет запущена автоматически. Давайте посмотрим на примере преобразования LESS в CSS. Для начала давайте подключим все необходимое:
gulpfile.jslet {src, dest, watch} = require('gulp');
let less = require('gulp-less');
Теперь сделаем задачу на преобразование:
gulpfile.jsfunction task(cb) {
return src("src/*.less").pipe(less()).pipe(dest("dist"));
}
Теперь выполним экспорт анонимной функции, внутри которой будем отслеживать изменения наших файлов, вызывая в этом случае нашу задачу:
gulpfile.jsexports.default = function () {
watch("src/*.less", task);
};
После запуска в командной строке будет крутится вечная задача. Это значит, что в этот терминал нельзя будет вбивать другие команды. Прервать выполнение такой задачи можно, нажав в терминале сочетание Ctrl + C
.
Можно отслеживать различные группы файлов, привязывая к ним различные задачи:
gulpfile.jsexports.default = function () {
watch("src/*.less", task1);
watch("src/*.sass", task1);
};
А можно для одной группы выполнить серию задач:
gulpfile.jsexports.default = function () {
watch("src/*.less", series(task1, task2));
};