gulp-watch работает только при первом запуске

Что я делаю?

  1. Выполнить gulp (обрабатываются файлы SCSS, я получаю файл CSS)
  2. Я снова меняю любой файл SCSS

Ожидается:

  • Файл CSS из 1. обновлен с учетом изменений из 2.

Что происходит?

  • Файл CSS из 1. не изменен

Вывод командной строки:

$ gulp
[09:24:28] Using gulpfile c:\Users\User\_dev\github\project\gulpfile.js
[09:24:28] Starting 'sass'...
[09:24:28] Finished 'sass' after 98 ms
[09:24:28] Starting 'default'...
[09:24:28] Finished 'default' after 7.31 μs
[09:24:35] sass-watch saw _base.scss was changed
[09:25:39] sass-watch saw _base.scss was changed

gulpfile.js:

gulp.task('sass', function() {
    watch({ glob: 'css/**/*.{scss,sass}', name: 'sass-watch'})
        .pipe(plumber())
        .pipe(sass())
        .pipe(gulp.dest('css'))
});

gulp.task('default', ['sass']);

Примечания:

Способ передачи исходных файлов не важен. Результат остается прежним при использовании gulp.src()


person kleinfreund    schedule 28.06.2014    source источник


Ответы (1)


Я не думаю, что ваша задача sass написана правильно.

Попробуйте что-то вроде этого:

var gulp = require('gulp');
var sass = require('gulp-sass')

gulp.task('sass', function () {
    gulp.src('PATH-TO-SASS-FILES/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('./css'));
});
person Oam Psy    schedule 02.07.2014
comment
Прочитайте о плагине gulp-watch и его синтаксисе здесь. Я пытался использовать .src(), я пытался использовать только .sass(). Проблема точно такая же при использовании плагина gulp-watch или при использовании встроенного gulp.watch. - person kleinfreund; 02.07.2014