You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将create-react-app构建版本部署至Heroku以替代开发版本

解决方案:将Create React App生产构建部署到Heroku

当然可以!完全没问题把create-react-app的生产构建部署到Heroku,替代原来的开发版本——哪怕这个Heroku实例不再保留开发代码也完全可行。下面是详细的操作步骤:

1. 准备项目环境

首先确保你的项目已经通过git管理,如果还没初始化,执行:

git init
git add .
git commit -m "Initial commit"

2. 安装静态服务器依赖

create-react-app的build文件夹里的静态文件需要一个服务器来托管,我们用serve这个轻量工具。把它安装为生产依赖:

npm install --save serve

3. 修改package.json配置

打开你的package.json,调整scripts部分,同时指定Node.js版本(避免Heroku用默认版本引发兼容性问题):

{
  "scripts": {
    "start": "serve -s build", // 生产环境启动静态服务器
    "build": "react-scripts build", // 保留原有的构建命令
    "heroku-postbuild": "npm run build" // 告诉Heroku在部署时自动执行构建
  },
  "engines": {
    "node": ">=16.x", // 替换成你本地使用的Node版本,比如18.x
    "npm": ">=8.x"
  }
}

注意:如果你的项目之前已经设置过start命令(比如开发环境的react-scripts start),直接替换成上面的serve命令即可——这样Heroku启动时就会直接运行生产服务器,不再启动开发模式。

4. (可选但推荐)创建Procfile

在项目根目录创建一个名为Procfile的文件(无后缀),内容为:

web: npm start

这能明确告诉Heroku要启动的web进程是什么,避免自动检测可能出现的问题。

5. 部署到Heroku

接下来就是部署操作了:

  • 首先登录Heroku CLI(如果还没安装,先装Heroku CLI):
heroku login
  • 创建Heroku应用:
heroku create your-app-name // 替换成你想要的应用名,不填会自动生成
  • 推送代码到Heroku:
git push heroku main

6. 验证部署

推送完成后,打开应用查看效果:

heroku open

此时Heroku上运行的就是你的生产构建版本了,所有开发环境的代码和依赖都不会在这个实例上保留——完全符合你的需求。

如果遇到部署问题,可以查看日志排查:

heroku logs --tail

内容的提问来源于stack exchange,提问作者Nicolas M. Pardo

火山引擎 最新活动