Как отслеживать новые файлы в Gulp?

Подскажите, пожалуйста, как заставить Gulp отслеживать новые файлы и выполнять какую-нибудь задачу?
Допустим, при добавлении новых иконок, генерировать спрайт заново или объединять и новые CSS-файлы. Сейчас приходится заново запускать Gulp, чтобы он увидел новые файлы и включил их в задачу.
  • Вопрос задан
  • 942 просмотра
Пригласить эксперта
Ответы на вопрос 3
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
gulp-watch https://www.npmjs.com/package/gulp-watch это итак умеет. если ты правильно пути задаешь. а не к конкретным файлам
Ответ написан
Комментировать
@Ooos
Front-End
var gulp = require('gulp'),
    browserSync = require('browser-sync'),
    less = require('gulp-less'),
    concat = require('gulp-concat-css'),
    autoprefixer = require('gulp-autoprefixer')

//Запускает локальный сервер в реальном времени
gulp.task('browser-sync', function () {
    browserSync({
        server: {
            baseDir: 'app'
        }
    });
});

gulp.task('style', function () {
    gulp.src('app/dist/less/**/*.less')
        .pipe(less())
        .pipe(concat('style.css'))
		.pipe(autoprefixer({
            browsers: ['last 12 versions'],
            cascade: false
        }))
        .pipe(gulp.dest('app/dist/css/'))
		.pipe(browserSync.reload({
            stream: true
        }))
});

gulp.task('html', function () {
    gulp.src('app/**/*.html')
        .pipe(browserSync.reload({
            stream: true
        }));
});


//Отслеживает изменение в файлах и запускает необходимое функцию
gulp.task('watch', function () {
    gulp.run('style', 'html'); //запуск
    gulp.watch('app/dist/less/**/*.less', function (event) {
        gulp.run('style');
    });
});
Ответ написан
zooks
@zooks
Frontend
gulp-changed или gulp-watch в помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы