我有一个相对简单的React 15网站。它只有几个不同的页面,主要是文本和一些图片。但是,当我使用react-scripts build
构建用于生产部署的项目时,我发现节点进程在使用大约1.25 GB的RAM时达到最高。在我的工作站上构建时,这不是一个问题。但这是我的生产服务器上的一个问题,我目前只有1 GB的RAM可用。大多数时候,服务器会因为内存不足而终止我的构建。
因此,我的选择似乎是花更多的钱将服务器上的RAM升级到2GB,或者找到某种方法来减少内存使用。我希望避免支付更多,因为通常我不会使用超过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
启动构建,向npm
命令添加--max-old-space-size
标志似乎没有任何作用。
我可以做些什么来防止react-scripts
构建过程使用如此多的内存?
5条答案
按热度按时间s5a0g9ez1#
similar question的答案是:
您可以只为节点进程放置
--max_old_space_size
,而不是react-script。例如
node --max_old_space_size=512 node_modules/.bin/react-scripts build
n3h0vuf22#
1.您可以在生产服务器上添加
swap
空间。请参阅this1.您在生产服务器上使用的是什么
node
版本?尝试使用nvm
or other ways升级您的node
版本。我认为这对您来说是个问题。4xrmg8kj3#
在
Package.json
文件中,修改构建脚本,如下所示。这应该行得通!
此外,在
.env
文件中,您可以指定不为您的项目生成源Map,这将有助于您的应用程序加载更快!1dkrff034#
我也遇到过类似的问题,但在我的情况下,当我更新CRA(create-react-app)附带的react-scripts包时,它帮助了我。
如果您当前的版本是3.x.x,请将其升级到最新版本3,您可以在此处找到所有可用的版本。
版本3.x.x-https://github.com/facebook/create-react-app/blob/master/CHANGELOG-3.x.md
版本2.x.x-https://github.com/facebook/create-react-app/blob/master/CHANGELOG-2.x.md
5f0d552i5#
GENERATE_SOURCEMAP=false in .env帮助了我,但不确定这样做是否是个好主意?