[英]Gulp: Error Messages and Notifications with Plumber
在此示例中 ,它指出您可以在每次出現錯誤時使用Gulp-Plumber和Gulp-Notify來顯示消息和聲音。 Gulp-Plumber將確保Gulp手表將繼續運行。
但是,當我嘗試它時,我不斷收到此錯誤消息,這導致Gulp停止:
events.js:72
throw er; // Unhandled 'error' event
這是我的代碼:
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
concat = require('gulp-concat'),
notify = require('gulp-notify'),
plumber = require('gulp-plumber'),
var onError = function(err) {
notify.onError({
title: "Gulp",
subtitle: "Failure!",
message: "Error: <%= error.message %>",
sound: "Beep"
})(err);
this.emit('end');
};
//Scripts Task
gulp.task('scripts', function() {
gulp.src('frontend/build/js/*.js')
.pipe(jshint('.jshintrc'))
.pipe(jshint.reporter('default'))
.pipe(concat('main.js'))
.pipe(gulp.dest('frontend/dist/js'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest('frontend/dist/scripts'))
.pipe(notify({
sound: "Frog"
}));
});
//Styles Task
gulp.task('styles', function() {
return sass('frontend/build/scss/', {style: 'expanded'})
.pipe(plumber({errorHandler: onError}))
.pipe(gulp.dest('frontend/dist/css/'))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dist/styles'))
.pipe(notify({ // Add gulpif here
sound: "Pop"
}));
});
我的代碼和示例之間的唯一區別是,我已將onError作為全局函數移動,因此可以在腳本和樣式任務中使用它。 但是,即使我將其移回樣式函數內部,也會出現相同的錯誤消息。
(我發布的代碼是縮寫,完整的代碼可以在這里找到)
另外,有沒有一種方法可以在成功時隱藏通知消息,這樣我就可以聽到聲音了? 謝謝!
您可能現在已經知道了這一點,但是在完整的代碼中,onError函數的作用范圍是您的樣式任務,您也沒有在腳本任務的任何地方使用管道工。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.