【发布时间】:2020-05-24 19:39:48
【问题描述】:
我对 Node/Heroku 几乎没有经验,在尝试将我的简单 React/Redux 应用程序部署到 Heroku 时,它成功部署但只显示应用程序错误。当我查看日志时,我收到以下错误:
2020-05-24T18:12:35.402548+00:00 heroku[web.1]: Process running mem=914M(178.6%)
2020-05-24T18:12:35.404076+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
还有
2020-05-24T18:18:57.774376+00:00 app[web.1]: FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
当我查找解决方案时,我会调整垃圾收集器或堆转储,因为我只是将我的第一个 React 应用程序(曾经)部署到 Heroku,所以我从未遇到过所有这些事情。我尝试更改 package.json 以增加 react-scripts 构建和测试的最大内存,我尝试过
set NODE_OPTIONS=--max_old_space_size=8172
和
node --max-old-space-size=4096 index.js
最后一个给了我一个关于“从'react'导入React说“不能在模块外使用导入语句”的错误,所以看起来我正在进入Node的兔子洞,如果有人可以提供,那很好任何对可能是疯狂根源的见解。非常感谢任何帮助!
【问题讨论】:
-
此部署是否包括服务器和前端?如果不是,前端是 create-react-app 项目吗?
-
这是一个 create-react-app 前端,我不相信其中包含服务器(据我所知)。
-
heroku 是必须的吗?或者你可以使用任何其他的?
-
那么 Heroku 可能正在尝试将其作为节点项目执行,当然不是。尝试使用
create-react-appbuildpack。更多关于 buildpacks here. -
Heroku 不是必须的,它只是作为部署学习的第一个。 @cbr 你知道为什么它将它作为节点项目运行吗?我已经安装了节点,但不相信我实例化了与服务器相关的任何内容。另外,我会检查你提到的 buildpack。