You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React应用部署Heroku构建成功,运行报MODULE_NOT_FOUND模块缺失错误如何解决?

Heroku部署React应用MODULE_NOT_FOUND报错解决方案

从错误日志可直接定位核心问题:server.js第5行引入的./routes/api/users模块在Heroku运行环境中不存在,抛出MODULE_NOT_FOUND错误导致启动失败,按照以下步骤排查即可解决:

1. 检查文件存在性与大小写规则

  • 首先核对本地项目中是否存在routes/api/users.js(或.ts/.cjs等对应后缀的文件)
  • 重点注意文件名大小写:Windows、macOS系统默认文件名大小写不敏感,本地如果文件名为Users.js,引入时写users.js也能正常运行,但Heroku使用Linux系统,大小写完全严格匹配,只要大小写不一致就会报找不到模块
  • 检查该文件是否被写入.gitignore规则,如果被忽略,推送到Heroku时不会上传该文件,自然无法找到

2. 核对引入路径的正确性

  • 确认server.js和routes文件夹的相对位置:如果二者都在项目根目录,./routes/api/users的写法是正确的;如果server.js存放在其他子目录,要对应调整相对路径层级
  • 排查是否有多写/少写路径层级的问题,比如是否应该写成../routes/api/users,和实际项目结构逐一核对即可

3. 直接验证Heroku部署包内容

如果本地检查所有配置都正确,可以直接进入Heroku运行容器查看实际部署的文件结构:

  • 本地终端执行heroku run bash登录你的应用运行环境
  • 执行ls命令查看文件列表,确认routes/api/users对应文件是否存在、server.js的存放位置是否符合预期
  • 如果确认文件没有上传,回去检查git提交记录,确认该文件已经被正常commit到仓库后重新推送部署即可

其他罕见问题排查

  • 如果你的路由文件存放在前端client目录下,部署时仅构建了前端静态资源,没有将后端路由文件纳入部署包,需要调整构建脚本,确保后端依赖的所有文件都被包含在部署包中
  • 检查package.json的scripts配置,确认start命令没有切换工作目录,避免相对路径计算失效

内容的提问来源于stack exchange,提问作者PREETHI RAJAMANI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:00:00