Как в gulp настроить изменение и удаление ненужных файлов с помощью gulp-watch?

Есть папка с проектом build, в которой находятся все исходные файлы. Проект собирается в папке public. Как с помощью плагина gulp-watch отслеживать измененные и удаленные файлы и сразу удалять в собранном проекте, который находится в папке public?
  • Вопрос задан
  • 5739 просмотров
Решения вопроса 1
@ikeagold
Пришел к выводу что для вас лучше использовать gulp-sync-files или gulp-dir-sync вместо clean/del, и запускать таски после синхронизации.

gulp.task('img', function() {
    watch(paths.images, function() {
        del('public/images/*');
    })
    .pipe(imagemin({
        progressive: true,
        svgoPlugins: [{removeViewBox: false}],
        use: [pngcrush()]
    }))
    .pipe(gulp.dest('public/images/'));
});

Старый ответ:
gulp.task('watch', function() {
    gulp.watch(paths.styles, ['styles']);
    gulp.watch(paths.scripts, ['scripts']);
    gulp.watch(paths.images, ['images']);
});

//в Task переписать вместо
gulp.task('styles', function() {
//добавив , ['clean'] после названия
gulp.task('styles', ['clean'], function() {
//или в вотчере юзать 2 таска
gulp.watch('js/**/*.js', ['clean','styles']);

//Пример моего clean
var del = require('del'); // https://www.npmjs.org/package/del
gulp.task('clean', function(cb) {
    del(['dist'], cb);
});

Или вот так если фуллстак.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы