简体   繁体   English

Sass的Gulp水管工返回错误

[英]Gulp Plumber Returning Errors in Sass

My terminal still returns an error and breaks my task when there's an error in my Sass. Sass发生错误时,终端仍会返回错误并中断我的任务。 This is what my task looks like: 这是我的任务:

gulp.task('sass', function() {
  return gulp.src(['./src/scss/*.scss', './src/scss/**/*.scss'])
    .pipe(plumber())
    .pipe(sass({
      includePaths : [
        './lib/basscss/scss',
        './lib/fluidbox/css'
      ],
      outputStyle: 'expanded'
    }))
    .pipe(prefix({
      browsers: ['last 2 versions'],
      cascade: false
    }))
    .pipe(minifyCSS())
    .pipe(gulp.dest('./_site/public/css'))
    .pipe(gzip())
    .pipe(gulp.dest('./_site/public/css'))
    .pipe(reload({stream: true}))
});

Any idea why it keeps breaking? 知道为什么它会不断崩溃吗? Any help is appreciated. 任何帮助表示赞赏。

You can include an error handler in plumber. 您可以在管道工中包含错误处理程序。 This will save you from unexpected breaks. 这样可以避免意外中断。

gulp.task('sass', function() {
  return gulp.src(['./src/scss/*.scss', './src/scss/**/*.scss'])
    .pipe(plumber({
      errorHandler: function(err) {
        console.log(err);
        this.emit('end');
      }
    }))
    .pipe(sass({
      includePaths: [
        './lib/basscss/scss',
        './lib/fluidbox/css'
      ],
      outputStyle: 'expanded'
    }))
    .pipe(prefix({
      browsers: ['last 2 versions'],
      cascade: false
    }))
    .pipe(minifyCSS())
    .pipe(gulp.dest('./_site/public/css'))
    .pipe(gzip())
    .pipe(gulp.dest('./_site/public/css'))
    .pipe(reload({
      stream: true
    }));
});

I know you asked this question three years ago but now I've faced the same issue. 我知道您三年前问过这个问题,但现在我也遇到了同样的问题。 My solution was to remove return from function - and it finally start working. 我的解决方案是删除函数的return值-终于开始工作了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM