簡體   English   中英

Gulp:與管道工的錯誤消息和通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM