我怎样才能使用' gulp-babel'抛出ERROR不要停止节点服务器

时间:2016-12-01 02:25:20

标签: javascript node.js gulp babel

当我使用gulp-babel编译我的js代码时,如果我没有完成我的代码,

for examle:for(let i =)

我会按ctrl+sgulp-babel会抛出错误,就像图片一样: enter image description here

如果gulp-babel抛出ERROR,不要停止节点服务器,只需抛出ERROR,该怎么办呢。

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要处理错误,例如,如果您有下一个gulp任务:

gulp.task('default', () => {
    return gulp.src('src/app.js')
        .pipe(babel({
            presets: ['es2015']
        }))
        .pipe(gulp.dest('dist'));
});

您需要在使用.on('error', handleError)插件后立即添加babel,以便您的代码最终结果如下:

function handleError (error) {
    console.log(error.toString());
    this.emit('end');
}

gulp.task('default', () => {
    return gulp.src('src/app.js')
        .pipe(babel({
            presets: ['es2015']
        }))
        .on('error', handleError)
        .pipe(gulp.dest('dist'));
});

重要的位是this.emit('end');,这将使您的任务在错误发生后继续工作。 handleError只是一个辅助函数,我相信你可以在所有gulp插件之后使用它,我已经将它与babel,typescript,汇总等一起使用,所以它也可以和其他人一起使用。< / p>