使用gulp-ruby-sass 1.0.0-alpha,gulp-notify和browser-sync处理错误

时间:2015-01-28 22:27:31

标签: error-handling gulp browser-sync gulp-notify

我一直在使用`gulp-ruby-sass@1.0.0-alpha'因为< 1.0不适合Sass> = 3.4 根据文件:

  

gulp-ruby-sass会像gulp插件一样抛出错误,但会对错误文件进行流式传输,以便您可以在浏览器中看到错误。

我使用gulp-notify来处理这段代码的错误,这些错误会给我一个弹出式通知,让我知道出现了问题。

.on('error', notify.onError({
    title: 'Error!',
    message: '<%= error.message %>',
    sound: 'Beep'
}))

这适用于我的其他任务(在我的'脚本'任务中,我需要指定gulp-jshint失败报告者)。但是在我的“样式”任务中,错误消息正在流式传输到控制台和浏览器,而不是弹出通知。

它是可行的,但是当使用浏览器同步进行css样式注入时,可能会错过错误消息。有时我不在文档的顶部工作,它会呈现错误消息。

理想情况下,我希望收到一条通知,提示我检查错误。有谁知道为什么我不能用gulp-notify创建消息?

1 个答案:

答案 0 :(得分:0)

我找到的解决方案是将notify.onError包装在匿名函数中并附加this.emit('end')

.on('error', function(err) {
    notify.onError({
        title: 'Error!',
        message: '<%= error.message %>',
        sound: 'Beep'
    })(err);
    this.emit('end');
})