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

首次部署NodeJS API至Heroku遇错误:找不到模块'./prod.json'

解决Heroku部署Node.js API时找不到prod.json的问题

咱们先从最常见的原因入手,一步步解决这个问题:

1. 检查.gitignore是否排除了prod.json

这是最可能的问题——你本地有config/prod.json,但它没被提交到Git仓库里,Heroku是通过Git拉取代码部署的,自然找不到这个文件:

  • 打开项目根目录的.gitignore文件,查看是否有config/prod.json或者*.json这类会排除该文件的规则
  • 如果有,把config/prod.json从.gitignore中移除
  • 执行Git命令提交这个文件到仓库并推送到Heroku:
git add config/prod.json
git commit -m "Add production configuration file"
git push heroku main

2. 优化Heroku的启动脚本

注意到你的start脚本用了nodemon,这是开发环境的热重载工具,生产环境直接用node启动更稳定;另外可以用cross-env统一Windows和Linux的环境变量设置,避免export和set的差异:

  • 先安装cross-env:
npm install cross-env --save-dev
  • 修改package.json里的scripts配置:
"scripts": {
  "start": "cross-env NODE_ENV=prod node ./index.js",
  "windev": "cross-env NODE_ENV=dev nodemon ./index.js",
  "dev": "cross-env NODE_ENV=dev nodemon ./index.js",
  "prod": "cross-env NODE_ENV=prod node ./index.js",
  "test": "echo \"Error: no test specified\" && exit 1"
}
  • 提交修改后的配置到Git并推送到Heroku,让生产环境启动更规范

3. 确认文件引用路径是否正确

从错误日志看,/app/config/config.js第2行引用./prod.json的路径是正确的(config.js在config文件夹下,./prod.json指向同目录的配置文件),只要文件被提交到Git,这个路径就不会有问题。

按照上面的步骤操作后,应该就能解决Cannot find module './prod.json'的错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:30:46