在 create-react-app 项目中增加 JavaScript 堆大小

IT技术 javascript node.js reactjs v8 create-react-app
2021-04-13 14:10:54

Node 具有通过传入--max-old-space-size命令行标志来增加堆大小的方式在 create-react-app 项目中,一切都取决于 react-scripts 的使用。我怎样才能在这样的项目中传递这个参数,我应该在哪里做最好?

谢谢你的帮助。

4个回答

非常感谢@dan-abramov,因为他的评论就是答案!(如果您遇到此问题,请给他投票)。

你可以把例如node --max_old_space_size=4096 node_modules/.bin/react-scripts start放在那里而不是react-scripts start

对于小型服务器,您需要放置更少的内存。对我来说 --max_old_space_size=256
2021-06-01 14:10:54
我有同样的问题,我们的 ubuntu 服务器内存为 1GB,所以我需要做什么?
2021-06-03 14:10:54
这是 4096 MB 所以 4 GB
2021-06-04 14:10:54
这给出了一个错误: basedir=$(dirname.......) 反应脚本的第 2 行。它在参数列表之后说缺少 )。请帮忙
2021-06-15 14:10:54
这里的 4096 是什么 4096 GB?
2021-06-16 14:10:54
"build": "react-scripts --max_old_space_size=4096 build"

这应该工作

@vinayakshahdeo 这意味着 4096 MB
2021-05-25 14:10:54
我试过这个,即使设置了 8 Gb 或 12 Gb 也对我不起作用
2021-06-17 14:10:54
这里的 4096 是 4096 GB 还是 MB?
2021-06-19 14:10:54

您可以禁用源映射的生成,如https://create-react-app.dev/docs/advanced-configuration 中所述

确实根据文档:

设置为 false 时,不会为生产构建生成源映射。这解决了一些较小机器上的内存不足 (OOM) 问题。

当您遇到堆内存不足错误时就是这种情况

为此,请创建一个 .env 文件并添加 GENERATE_SOURCEMAP=false

一行应答,在终端上运行 -> export NODE_OPTIONS=--max_old_space_size=4096