Gulp Sass с errLogToConsole: правда, по-прежнему останавливая мои другие задачи наблюдения
У меня на данный момент есть 3 задачи по наблюдению
gulp.task('watch', function(){
gulp.watch(sassDir + '/*.scss', ['sass']);
gulp.watch(cssDir + '/*.css', ['css']);
gulp.watch(jsDir + '/*.js', ['js']);
})
Моя проблема сейчас заключается в том, что когда Sass выдает ошибку, все задачи наблюдения прекращаются. Затем я добавил .pipe(sass({errLogToConsole: true}))
- что, кажется, поддерживает мою задачу sass watch даже с ошибкой, однако две другие задачи наблюдения, похоже, не запускаются.
Как сохранить все мои задачи наблюдения в оперативном режиме, чтобы ошибка в моем файле sass не мешала компиляции всего?
Моя настройка:
gulp.task('sass', function () {
gulp.src(sassDir + '/**/*.scss')
.pipe(sass({errLogToConsole: true}))
.pipe(gulp.dest(sassTargetDir));
});
gulp.task('css', function() {
gulp.src(cssDir + '/**/*.css')
.pipe(autoprefix({
browsers: ['last 40 versions'],
cascade: false
}))
.pipe(gulp.dest(cssTargetDir))
.pipe(minify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(cssTargetDir));
});
gulp.task('js', function() {
gulp.src(jsDir + '/**/*.js')
.pipe(gulp.dest(jsTargetDir))
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(jsTargetDir))
});
gulp.task('watch', function(){
gulp.watch(sassDir + '/*.scss', ['sass']);
gulp.watch(cssDir + '/*.css', ['css']);
gulp.watch(jsDir + '/*.js', ['js']);
})
gulp.task('default', ['sass','css','js','watch']);
1 ответ
errLogToConsole устарела (или не работает) в Gulp 2.0+. Попробуйте использовать это вместо .pipe(sass({errLogToConsole: true}))
,
.pipe(sass().on('error', sass.logError))
Я использую это с командой watch, и ошибки не останавливают Gulp.
Я получил это из примера кода Gulp и нескольких новых руководств Gulp. Проверьте здесь в будущем. https://github.com/dlmanning/gulp-sass