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

Node.js REST API部署到Heroku步骤咨询及访问报错求解

Node.js REST API Heroku部署教程及问题修复

现有部署错误根因

从提供的Heroku日志可以定位到两个核心错误:

  1. npm ERR! missing script: start:Heroku默认使用npm start命令启动Node应用,你的项目package.json中未配置该启动脚本,导致进程启动失败
  2. 端口硬编码:你在代码中将服务端口固定为5000,但Heroku会为web进程动态分配运行端口,必须读取系统环境变量PORT才能正常监听请求

错误修复步骤

1. 修改端口监听逻辑

将你代码中最后的端口监听部分替换为以下内容:

const PORT = process.env.PORT || 5000;
app.listen(PORT, function(){
    console.log('App running on port ' + PORT);
});

2. 配置package.json启动脚本

打开项目根目录下的package.json文件,添加/修改scripts字段:

{
  "name": "你的项目名",
  "version": "1.0.0",
  "dependencies": {
    "express": "^版本号",
    "body-parser": "^版本号",
    "mysql": "^版本号"
  },
  "scripts": {
    "start": "node 你的入口文件名.js"
  }
}

注意:

  • 请将你的入口文件名.js替换为你实际的入口文件名称,比如app.js、index.js
  • 确保express、body-parser、mysql依赖都写在dependencies字段下,不要放在devDependencies中,Heroku部署时不会安装开发依赖

完整Heroku部署分步教程

前置准备

  • 已注册Heroku账号
  • 本地已安装Node.js、Git、Heroku CLI

部署步骤

  • 项目根目录初始化Git仓库:git init
  • 项目根目录新建.gitignore文件,添加以下内容:
    node_modules
    .env
    .DS_Store
    
  • 执行heroku login,按提示完成Heroku账号登录
  • 执行heroku create 自定义应用名创建Heroku应用,应用名不能和现有Heroku应用重名
  • 提交代码到本地Git仓库:
    git add .
    git commit -m "部署准备完成"
    
  • 推送代码到Heroku远程仓库完成部署:git push heroku main(如果本地主分支名为master则替换为master)
  • 部署完成后可执行heroku open直接打开应用,也可以手动访问你的应用地址测试接口

额外注意事项

你当前使用的是外部MySQL数据库,需要确认MySQL数据库的访问权限已放开,允许Heroku的服务器IP访问,否则部署完成后访问/employees接口会出现数据库连接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:27:04