加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

使用gulp-plumber捕获错误,结果卡住不能继续执行的解决办法。

发布时间:2020-12-15 00:46:45 所属栏目:C语言 来源:网络整理
导读:我们使用gulp-plumber捕获gulp-autoprefixer、gulp-sass、gulp-less等插件处理css文件中产生的错误,避免整个进程因为css文本中的错误而crash掉,但是当把gulp-autoprefixer升级到3.0后会发现,gulp-plumber在捕获错误后会卡住不能继续执行任务,并抛出handl

我们使用gulp-plumber捕获gulp-autoprefixer、gulp-sass、gulp-less等插件处理css文件中产生的错误,避免整个进程因为css文本中的错误而crash掉,但是当把gulp-autoprefixer升级到3.0后会发现,gulp-plumber在捕获错误后会卡住不能继续执行任务,并抛出handle error的提示。
原来网上的gulp教程告诉我们使用gulp-plumber时一般都是直接使用.pipe(plumber()),但实际上,某些插件的流抛出错误事件后,并不会同时抛出结束事件,因此plumber就会卡住。
所以我们要通过plumber的errorHandler方法来给流抛出一个流结束事件。

gulp.src('./less/**/*.less')
  .pipe(plumber({
    errorHandler: function(err) {
      console.log(err);
      this.emit('end');
    }
  }))
  .pipe(less)
  .dest(gulp.dest('./build'));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读