Обработка ошибок с помощью 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');
})