Gulp 浏览和吞咽处理错误

Gulp 浏览和吞咽处理错误,gulp,browserify,gulp-watch,Gulp,Browserify,Gulp Watch,所以我有一个大口文件 var gulp = require('gulp'); var browserify = require('gulp-browserify'); var rename = require('gulp-rename'); var uglify = require('gulp-uglify'); var source = require('vinyl-source-stream'); gulp.task('js', function () { gulp.src('

所以我有一个大口文件

var gulp = require('gulp');
var browserify = require('gulp-browserify');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var source =  require('vinyl-source-stream');


gulp.task('js', function () {
    gulp.src('js/main.js')
        .pipe(browserify())
        .pipe(rename('js/bundle.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./'));

})

gulp.task('watch', function () {

    gulp.watch('js/*.js', ['js']);
})
相当泥沼标准的东西-但我的问题是,而不是扔给我一个错误的咕噜文件只是打破了我的咕噜表

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: module "./sticknav.js

在本例中,它是一个拼写错误-应该是stickynav.js,但现在它意味着我必须返回并再次开始吞咽手表。如何在不中断的情况下捕捉错误。

这似乎是一个常见的问题,可以通过gulp管道工解决

只需通过管道工进行管道铺设,NPM流问题就解决了。到目前为止对我来说还不错

我还为咆哮添加了声音通知(OSX)

完整的gulpfile.js:

var gulp = require('gulp');
var browserify = require('gulp-browserify');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var source =  require('vinyl-source-stream');
var notify = require("gulp-notify");
var plumber = require('gulp-plumber');

    function errorAlert(error){

    notify.onError({title: "Error", message: "Check your terminal", sound: "Funk"})(error); //Error Notification
    console.log(error.toString());//Prints Error to Console
    this.emit("end"); //End function
};



gulp.task('js', function () {
    return gulp.src('js/main.js')
        .pipe(plumber({errorHandler: errorAlert}))
        .pipe(browserify({debug:  true}))
        .pipe(rename('js/bundle.js'))
        //.pipe(uglify())
        .pipe(gulp.dest('./'))
        .pipe(notify({title: "Success", message: "Well Done!", sound: "Glass"}));


})

gulp.task('watch', function () {

    gulp.watch('js/*.js', ['js']);
})