Gulp.js прекращает компиляцию LESS при просмотре после ошибки в файлах LESS
У меня проблема сgulp
, я бегуgulp-watch
вместе сgulp-less
а такжеgulp-clean
, Все работает отлично.
Когда я редактируюsomefile.less
и я сохраняю его с отсутствующей точкой с запятой или, может быть, я случайно оставляю завершающий;s
просто есть ошибки в моем коде при сохранении,gulp-less
регистрирует ошибку в консоли. После того, как я это исправлюgulp-watch
продолжает смотреть файлы, ноgulp-less
не срабатывает и не компилируется. Когда я остановлюсьgulp
и запустите его снова в терминале, все возвращается в норму.
Вот мойgulpfile.js
:
var gulp = require('gulp');
var clean = require('gulp-clean');
var gutil = require('gulp-util');
var less = require('gulp-less');
var watch = require('gulp-watch');
var path = require('path');
gulp.task('clean', function() {
return gulp.src('src/main/webapp/styles/build', {read: false})
.pipe(clean().on('error', gutil.log))
});
gulp.task('less', function() {
return gulp.src(['src/main/webapp/styles/main.less'], {base: 'src/main/webapp/styles/'})
.pipe(less().on('error', gutil.log))
.pipe(gulp.dest('src/main/webapp/styles/build'))
.on('error', gutil.log);
});
gulp.task('watch', function() {
watch('src/main/webapp/styles/**/*.{less, css}', function() {
gulp.start('less')
.on('error', gutil.log);
})
});
gulp.task('default', ['clean'], function() {
gulp.start(['less', 'watch'])
.on('error', gutil.log);
});
И вот моиdevDependencies
:
"devDependencies": {
"gulp": "^3.8.10",
"gulp-clean": "^0.3.1",
"gulp-less": "^2.0.1",
"gulp-util": "^3.0.2",
"gulp-watch": "^3.0.0"
}
Наконец, вот сообщение в консоли:
[10:21:03] imports/productSearchPage.less was changed
[10:21:03] Starting 'less'...
[10:21:03] { [Error: Unrecognised input. Possibly missing something in file /src/main/webapp/styles/imports/productSearchPage.less line no. 1008]
type: 'Parse',
filename: '/src/main/webapp/styles/imports/productSearchPage.less',
index: 19127,
line: 1008,
callLine: NaN,
callExtract: undefined,
column: 0,
extract: [ '', '', undefined ],
message: 'Unrecognised input. Possibly missing something in file /src/main/webapp/styles/imports/productSearchPage.less line no. 1008',
stack: undefined,
lineNumber: 1008,
fileName: '/src/main/webapp/styles/imports/productSearchPage.less',
name: 'Error',
showStack: false,
showProperties: true,
plugin: 'gulp-less',
__safety: { toString: [Function] } }
[10:21:04] imports/productSearchPage.less was changed
[10:21:08] imports/productSearchPage.less was changed
^C
Подскажите, пожалуйста, что не так сgulp-watch
Задача и помогите мне заставить его работатьgulp-less
после устранения ошибок без перезагрузкиgulp
.
РЕДАКТИРОВАТЬ: мой отредактированныйgulp-less
задача
gulp.task('less', function() {
return gulp.src(['src/main/webapp/styles/main.less'], {base: 'src/main/webapp/styles/'})
.pipe(less().on('error', gutil.log))
.pipe(gulp.dest('src/main/webapp/styles/build'))
.on('error', function(err) {
gutil.log(err);
this.emit('end');
});
});