gulp 对错误的处理

用 gulp 自动编译 pug 时,有时 pug 有语法错误就会编译不通过,gulp 的进程就会中断,导致需要重新运行 gulp,这是因为 gulpfile.js 文件中缺少了对错误的处理。

var gulp = require('gulp'),
    pug = require('gulp-pug');

var files = {
    pug: 'pug/*.pug',
    markup: ['pug/*.pug', 'pug/**/*.html'],
    styles: 'scss/*.scss',
    scripts: 'js/*.js'
}

gulp.task('pug', function(){
    return gulp.src(files.pug)
    .pipe(pug({
        pretty: true
    }).on('error', function(e){
        console.log('pug went wrong.');
        console.log(e.message);
        this.end();
    }))
    .pipe(gulp.dest('.'));
});

在错误的处理中加入 this.end(); gulp 进程就不会终止运行。

或者用到 gulp-plumber 插件。

关于本文如您有任何想法和意见,欢迎与我们联系,邮箱地址zhi@uqugu.com
您对本文有什么看法,喜欢或者不喜欢都可以发表意见。