Gulp-Buster никогда не "завершает"
Я использую nodejs
gulp
обрабатывать и минимизировать мой less
файлы и для очистки кеша я использую gulp-buster
Однако, когда я добавляю gulp-buster
труба задача никогда не заканчивается.
Это (часть) моего Gulpfile.js
:
var lessTask = function(event) {
var response = gulp.src('./application/assets/desktop/less/**/*.less')
.pipe(less({ paths: ['./application/assets/desktop/less/'] }))
.pipe(autoprefixer( 'last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4' ))
.pipe(gulp.dest('./public/lesscss'))
.pipe(minifycss())
.pipe(gulp.dest('./public/lesscss'))
.pipe(watch(function(files){
return files
.pipe(buster('busters.json'))
.pipe(gulp.dest('.'));
}));
return response;
}
gulp.task('less', lessTask);
Когда я запускаю эту задачу, я получаю этот ответ:
H:\Binary\nginx\foobar.se>gulp less
[gulp] Using file H:\Binary\nginx\foobar.se\Gulpfile.js
[gulp] Working directory changed to H:\Binary\nginx\foobar.se
[gulp] Running 'less'...
[gulp] app.css was added to watch
[gulp] 1 file was added from pipe
И когда я запускаю задачу без .pipe(watch(function(...
я получаю это:
H:\Binary\nginx\foobar.se>gulp less
[gulp] Using file H:\Binary\nginx\foobar.se\Gulpfile.js
[gulp] Working directory changed to H:\Binary\nginx\foobar.se
[gulp] Running 'less'...
[gulp] Finished 'less' in 51 ms
Почему это не закончено с gulp-buster
? Что я делаю неправильно?
1 ответ
Решение
Вместо использования watch
функция, которую я только что передал buster
функция.
var lessTask = function(event) {
var response = gulp.src('./application/assets/desktop/less/**/*.less')
.pipe(less({ paths: ['./application/assets/desktop/less/'] }))
.pipe(autoprefixer( 'last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4' ))
.pipe(gulp.dest('./public/lesscss'))
.pipe(minifycss())
.pipe(gulp.dest('./public/lesscss'))
.pipe(buster('busters.json'))
.pipe(gulp.dest('.'));
return response;
}