【发布时间】:2019-09-02 20:35:04
【问题描述】:
我有一个相对简单的 React 15 网站。它只有几个不同的页面,主要是文字和一些图片。但是,当我使用react-scripts build 构建项目以进行生产部署时,我发现节点进程的最高使用内存约为 1.25 GB。在我的工作站上构建时这不是问题,但在我的生产服务器上却是一个问题,我目前只有 1 GB 可用的 RAM。大多数情况下,服务器会因为内存不足而终止我的构建。
所以看来我的选择是花更多的钱在服务器上升级到 2GB 的 RAM,或者想办法减少内存使用量。我想避免支付更多费用,因为通常我不会使用超过 200 MB 的 RAM 来运行我的应用程序,而且它只是在构建使用大量 RAM 的应用程序。
我似乎有些人建议在构建中添加--max-old-space-size= 标志,但这似乎没有任何作用。也就是说,我已经在我的 package.json 中尝试过:
"build": "react-scripts --max-old-space-size=512 build"
但它仍会占用 1+ GB 的 RAM。我通过npm run build 开始构建,并将--max-old-space-size 标志添加到npm 命令似乎没有任何作用。
我能做些什么来防止react-scripts 构建过程使用这么多内存吗?
【问题讨论】:
-
你找到解决这个问题的方法了吗?
-
不,我找不到解决方案。我刚刚增加了 VM 上的 RAM,然后继续做一些事情。
-
我还假设使用
--max-old-space-size会修复它,但它没有。我看到的唯一选择是走通常的 CI 路线并在单独的机器上构建它并将构建的文件推送到实例 -
是否有可能在构建生产版本时生成源映射?当我意外启用源映射生成时,我遇到了这种情况(它需要大约 1.4GB)
-
尝试使用 Webpack 包分析器来检查你的 npm 包可能是你安装的太多太重了
标签: reactjs build react-scripts