Обработка ошибок с помощью gulp-ruby-sass 1.0.0-alpha, gulp-notify и browser-sync

Я использовал `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 ответ

Решение

Я нашел решение обернуть notify.onError в анонимной функции и добавить this.emit('end'):

.on('error', function(err) {
    notify.onError({
        title: 'Error!',
        message: '<%= error.message %>',
        sound: 'Beep'
    })(err);
    this.emit('end');
})
Другие вопросы по тегам