Gulp Plumber在Sass中返回错误

时间:2015-05-21 23:45:07

标签: sass gulp

当我的Sass出现错误时,我的终端仍然会返回错误并中断我的任务。这就是我的任务:

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}))
});

知道为什么它一直在破碎吗?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

您可以在管道工中包含错误处理程序。这样可以避免意外中断。

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
    }));
});

答案 1 :(得分:0)

我知道您三年前问过这个问题,但现在我也遇到了同样的问题。我的解决方案是从函数中删除$.ajax({ url : "filter_participants", method : "post", data: { view }, dataType: "json", success: function(data) { $.each(data.results, function(index) { $('#first_name').html(data.results[index].first_name); $('#last_name').html(data.results[index].last_name); $('#email').html(data.results[index].email); $('#phone').html(data.results[index].phone); }); } }); -终于开始工作了。