如果您通过 API(例如从 gulpfile)运行 webpack,您可以使用以下单行过滤异常消息:
// filter webpack/babel error traces
const filterStackTraces = err =>
err.toString().split(/[\r\n]+/).filter(line => ! line.match(/^\s+at Parser/)).join(os.EOL);
// example use:
compiler.run( (err, stats) => {
if (err) return done( new gutil.PluginError('webpack', err));
if ( stats.hasErrors() ) {
const statDetails = stats.toJson({errorDetails: false});
// print out parse errors
statDetails.errors.forEach((e) => gutil.log(error(tag), filterStackTraces(e)));
return done(new gutil.PluginError('webpack', 'Parse/ build error(s)'));
}
gutil.log(gutil.colors.green(tag), stats.toString({colors: true}));
done();
});
它将在不触及错误消息和源上下文片段的情况下删除堆栈跟踪,并保持颜色不变。