Gulp Sass 与 errLogToConsole : true still stopping my other watch tasks

标签 gulp gulp-watch gulp-sass

我目前有 3 个 watch 任务:

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 监视任务保持事件状态,即使出现错误,但是其他两个监视任务似乎没有运行。

如何让我的所有监视任务保持实时状态,以便我的 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']);

最佳答案

errLogToConsole 在 Gulp 2.0+ 中被弃用(或不起作用)。尝试使用它代替 .pipe(sass({errLogToConsole: true}))

.pipe(sass().on('error', sass.logError))

我将它与 watch 命令一起使用,错误不会停止 Gulp。

我从 Gulp 示例代码和一些最新的 Gulp 指南中得到了这个。以后来这里看看。 https://github.com/dlmanning/gulp-sass

关于Gulp Sass 与 errLogToConsole : true still stopping my other watch tasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808095/

相关文章:

wamp - BrowserSync 与 gulp 和 wamp 不刷新 php 文件

html - 媒体查询不执行任何操作

javascript - Gulp 任务未按预期工作

javascript - 使用 Gulp Browserify 的主干模板

Gulp watch ...不是在看吗?

maven - 错误 : ENOENT: no such file or directory, 扫描目录

node.js - Gulp 全局安装

Gulp SASS - 使用 @import 而不编译 scss -> css

npm - NVM_NODEJS_ORG_MIRROR 已弃用,请使用 NODEJS_ORG_MIRROR

typescript - 带有 gulp-sourcemap : output files to same directory 的 gulp-typescript