gulp-watch-less не запускается в Windows

Уже пару дней пытаюсь решить эту проблему. Я пытаюсь заставить gulp компилировать мои файлы less, когда я их сохраняю, но gulp-watch-less не запускается изменениями в файлах, которые я смотрю. Мой gulpfile.js:

var gulp = require('gulp');
var watchLess = require('gulp-watch-less');
var less = require('gulp-less');

gulp.task('default', function () {
    return gulp.src('less/style.less')
        .pipe(watchLess('less/style.less'))
        .pipe(less())
        .pipe(gulp.dest('css'));
});

/*
gulp.task('watch', function() {
   // Watch less files
  gulp.watch('less/style.less', ['less']);
 });

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

gulp.task('default', ['watch']);
 */

Когда я сначала запускаю gulp, он генерирует новый файл css, но после этого любые изменения, которые я делаю в style.less, не вызывают новое обновление файла. Когда я делаю изменения, консоль показывает:

МЕНЬШЕ видел style.less был изменен

Но новый файл не создается. Я пытался следовать решениям на странице Gulp внезапно перестал работать после обновления npm #800. Я уже дважды переустанавливал nodejs, чтобы попытаться заставить это работать, но безуспешно.


person Ben    schedule 17.03.2015    source источник
comment
Я отредактировал свой вопрос, заменив gulp.watch на gulp-watch-less, поскольку последний не срабатывал, а не первый.   -  person Ben    schedule 18.03.2015


Ответы (1)


Мне удалось решить эту проблему, используя gulp-watch вместо gulp-watch-less. Мой новый gulpfile.js:

var gulp = require('gulp');
//var watchLess = require('gulp-watch-less');
var watch = require('gulp-watch');
var less = require('gulp-less');
/*
gulp.task('default', function () {
    return gulp.src('less/style.less')
        .pipe(watchLess('less/style.less'))
        .pipe(less())
        .pipe(gulp.dest('css'));
});
*/

gulp.task('watch', function() {
   // Watch less files
  watch('less/style.less', function() {
    gulp.start('less');
    });
 });

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

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

Кажется, существует проблема с использованием gulp-watch-less в Windows, которая не запускает задачи при изменении файлов.

person Ben    schedule 18.03.2015