2

我们有一个 Angular 5 项目,它的大小有问题。在加载应用程序时,当没有太多东西时,我们有 95MB 的内存。我正在尝试分析它并使用webpack-bundle-analyzer.

我已经读过添加new webpack.optimize.ModuleConcatenationPlugin()webpack.config应该有所帮助,所以我做到了并且它有所帮助(从 95 到 76MB)。

但是当我在那之后运行构建时npm run build:stats > stats.json"build:stats": "webpack --profile --json --config webpack.config.buildserver.js")我收到这条消息 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

在添加插件之前,该stats.json文件有大约 390 000 行 json 对象。

我发现节点脚本有一个内存标志,--max_new_space_size但我找不到任何类似的 webpack 脚本。

我不确定要寻找什么,有人可以帮忙吗?

4

2 回答 2

2

这是一个已知的错误,您可以查看此问题以获取更多详细信息,也可以尝试安装此 npm 包并在构建之前和 npm 安装之后运行。

于 2018-03-19T20:12:43.120 回答
0

要设置 Node.js 标志,可以使用NODE_OPTIONSenv variable

例如,在 webpack 版本 4 中构建统计信息:

NODE_OPTIONS="--max-old-space-size=4096" webpack --json > stats.json
于 2021-10-21T13:53:07.270 回答