Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 网页包从babel错误中隐藏堆栈跟踪_Webpack_Babeljs_Javascript Build - Fatal编程技术网

Webpack 网页包从babel错误中隐藏堆栈跟踪

Webpack 网页包从babel错误中隐藏堆栈跟踪,webpack,babeljs,javascript-build,Webpack,Babeljs,Javascript Build,我有一个相对标准的webpack设置:webpack+babel-stage-0 如果有语法错误,babel会给我一个非常有用的错误消息,但也有一个与我的代码完全无关的堆栈跟踪,它通常比终端本身长 有没有办法从Parser.pp.raise 我知道这是一件很小的事情,但是隐藏堆栈跟踪将意味着更少的视觉噪音,并且我不必向上滚动半个终端窗口来查看我的错误消息 我尝试过的事情 我试着用以下方法隐藏stderr: webpack --watch > /dev/null 但这似乎没有什么帮助。我

我有一个相对标准的webpack设置:webpack+babel-stage-0

如果有语法错误,babel会给我一个非常有用的错误消息,但也有一个与我的代码完全无关的堆栈跟踪,它通常比终端本身长

有没有办法从
Parser.pp.raise

我知道这是一件很小的事情,但是隐藏堆栈跟踪将意味着更少的视觉噪音,并且我不必向上滚动半个终端窗口来查看我的错误消息

我尝试过的事情 我试着用以下方法隐藏stderr:

webpack --watch > /dev/null

但这似乎没有什么帮助。

我也遇到过同样的问题,显然没有真正的解决办法。所以我想出了一个办法:


$webpack--watch--color | grep-v'^at.*/node_modules/'

这将过滤webpack输出以删除节点\u modules dir的回溯,并且
--color
选项确保grep不会删除您的颜色

如果您是(例如,从一个gulpfile)您可以使用以下一行代码过滤异常消息:

// 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();
});

它将在不接触错误消息和源上下文片段的情况下删除堆栈跟踪,并保持颜色不变。

显然,当没有匹配项时,grep有一个非零的退出代码。如果您想在NPM脚本中使用此参数,请使用
npx webpack--color | grep-v'^at'| true
(当然,使用您需要的任何其他参数,只需注意
| true
)。