Задача Gulp выполняется несколько раз

У меня есть задача gulp, которая запускается несколько раз каждый раз, когда я вношу изменения в файл.

var gulp = require('gulp');
var concat = require('gulp-concat')
var gulpLess = require('gulp-less');
var notify = require("gulp-notify");

var less = []; // array of less files
var css = []; // array of css files

gulp.task('less', function() {
    return gulp.src(less)
        .pipe(gulpLess())
        .pipe(gulp.dest('./assets/css/'));
});

gulp.task('css', ['less'], function() {
    return gulp.src(css)
        .pipe(concat('style.css'))
        .pipe(gulp.dest('./htdocs/assets/'))
        .pipe(notify('CSS finished compiling!'));
});

gulp.task('watch', function() {
    gulp.watch(css.concat(less), ['css']);
    gulp.watch(js, ['js']);
});

Когда я выполняю gulp watch и вношу изменения в один из отслеживаемых файлов css или less, задачи less и css выполняются четыре раза по порядку. Кроме того, уведомление запускается каждый раз, что становится слишком много, когда я делаю много изменений.

Любая помощь будет оценена.


person NicholasJohn16    schedule 11.11.2015    source источник


Ответы (1)


gulp.task('css', ['less'], function() {}. Здесь два раза. Less dest — это css. Это еще два.

person J. Mark Stevens    schedule 11.11.2015