为什么 React 应用程序在 Heroku 上会占用大量内存?

Why would a React app have high memory usage on Heroku?

在我的工作中,我们使用 CRA 和打字稿创建了一个小型 React 应用程序,即 create-react-app some-app --typescript。应用程序总大小为 305MB,运行 npm run build 后生成的应用程序约为 6MB。我们正在使用 Bitbucket 管道将它部署到 Heroku。

当我们将它部署到 Heroku 时,它以某种方式不断使用 Heroku 上超过 500MB 的内存。我们觉得这很奇怪,因为我们用 CRA 和 javascript 制作的一个不同的 React 应用程序只使用了 100MB,尽管它要大得多;构建文件夹为 60MB,应用文件夹大于 1GB。

我们知道它是应用程序内部的东西,因为当我们部署应用程序的基本版本时,内存使用率下降到 250MB,这仍然高得离谱,但比目前的情况有了显着改善。

我们唯一能想到的就是清除缓存,但没有帮助。

有没有其他人遇到过这个问题,如果有,他们是如何解决的?

PS。不幸的是,我无法 post 该应用程序的代码,因为它属于 company.I 可以 post 细分,如果人们知道问题可能出在哪里的话。

当你测试时,你是在开发模式还是生产模式下测试?你在使用不需要的包吗?数据源是否相同,您是否调用相同的 API 等。在您的应用程序中寻找差异。

已使用构建包修复mars/create-react-app

注意:确保在 Heroku 设置中将其添加为 mars/create-react-app

当你 运行 heroku 上的开发服务器时,你 运行 由于 typescript 内存不足,因为现在有 2 个节点进程 运行ning:

  • 一个用于您的 start.js 脚本
  • 一个用于 typescript 的类型检查器

每个都需要大约 300-400mb 的内存