Javascript 如何使用';大口喝巴别塔';抛出错误don';停止节点服务器

Javascript 如何使用';大口喝巴别塔';抛出错误don';停止节点服务器,javascript,node.js,gulp,babeljs,Javascript,Node.js,Gulp,Babeljs,当我使用gulp babel编译我的js代码时,如果我没有完成我的代码 例如:for(让i=) 我将按ctrl+s,吞下巴别塔将抛出错误,如图所示: 当gulp babelthrow ERROR时,我该怎么办?不要停止节点服务器,只抛出错误 谢谢 您需要处理错误,例如,如果您有下一个吞咽任务: gulp.task('default', () => { return gulp.src('src/app.js') .pipe(babel({ p

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

例如:
for(让i=)

我将按ctrl+s,
吞下巴别塔
将抛出错误,如图所示:

gulp babel
throw ERROR时,我该怎么办?不要停止节点服务器,只抛出错误


谢谢

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

gulp.task('default', () => {
    return gulp.src('src/app.js')
        .pipe(babel({
            presets: ['es2015']
        }))
        .pipe(gulp.dest('dist'));
});
您需要在使用
babel
插件后立即添加
.on('error',handleError)
,这样您的代码就可以这样结束:

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、rollup等,所以它可能也可以用于其他插件。

我发现插件很难处理错误,gulp plumber,