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

Node.js项目中index.js能否为空?Heroku部署遇MODULE_NOT_FOUND错误

Heroku部署Node项目报错排查与解决

问题背景

正在进行学校项目的登录页面测试,使用Heroku部署时持续出现模块找不到的错误,怀疑和index.js有关。

Procfile配置

web: node src/[app name].js

注:[app name]为隐私替换后的实际应用名称。

报错信息

2022-10-22T17:19:11.562569+00:00 app[web.1]: Error: Cannot find module '/app/src/[app name].js'

2022-10-22T17:19:11.562570+00:00 app[web.1]:     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)

2022-10-22T17:19:11.562570+00:00 app[web.1]:     at Function.Module._load (node:internal/modules/cjs/loader:833:27)

2022-10-22T17:19:11.562570+00:00 app[web.1]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)

2022-10-22T17:19:11.562571+00:00 app[web.1]:     at node:internal/main/run_main_module:22:47 {

2022-10-22T17:19:11.562571+00:00 app[web.1]:   code: 'MODULE_NOT_FOUND',

2022-10-22T17:19:11.562571+00:00 app[web.1]:   requireStack: []

2022-10-22T17:19:11.562572+00:00 app[web.1]: }

文件夹结构

项目根目录下包含src文件夹,src内部有index.js、login.html、package.json等核心文件。


解决步骤

  1. 修正Procfile路径
    报错明确显示找不到/app/src/[app name].js,但实际入口文件是src/index.js,直接修改Procfile为:
web: node src/index.js
  1. 配置package.json启动脚本
    在package.json中添加start脚本,符合Node项目规范同时避免路径错误:
"scripts": {
  "start": "node src/index.js"
}

此时Procfile可简化为:

web: npm start
  1. 检查文件名大小写
    Heroku运行在Linux环境下,文件名严格区分大小写,确认本地和Git仓库中的index.js文件名大小写一致,避免出现Index.js这类错误写法。

  2. 排查.gitignore配置
    确保src文件夹未被加入.gitignore文件,否则部署时该文件夹不会上传到Heroku服务器,导致入口文件无法被找到。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:20:52