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

#gulp #gulp-watch

#gulp #gulp-watch

Вопрос:

Что я делаю?

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

Ожидаемый:

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

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

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

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

 $ gulp
[09:24:28] Using gulpfile c:UsersUser_devgithubprojectgulpfile.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()

Ответ №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'));
});
 

Комментарии:

1. Пожалуйста, ознакомьтесь с gulp-watch плагином и его синтаксисом здесь . Я пробовал использовать .src() , я пробовал использовать только .sass() . Проблема точно такая же , как при использовании плагина gulp-watch , так и при использовании встроенного gulp.watch .