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

如何将Create React App构建的React应用部署到子目录?

没问题,这两个需求都能轻松实现,我一步步给你捋清楚!

如何将Create React App部署到myserver:5000/app1

步骤1:配置React项目的子路径前缀

首先得让Create React App知道它要部署在/app1这个子路径下,不然构建出来的静态资源会找不到。在你的项目根目录的package.json里添加homepage字段:

{
  "name": "your-app-name",
  "homepage": "/app1",
  // 其他原有字段...
}

步骤2:构建项目

执行常规的构建命令生成适配子路径的静态文件:

npm run build

这时候/build目录里的所有资源路径都会自动带上/app1前缀,避免访问时出现404。

步骤3:用serve命令指定子路径运行

使用serve的--prefix参数来绑定访问前缀,运行以下命令:

serve build --prefix /app1

现在你的应用就可以通过myserver:5000/app1正常访问了!

如何在同一端口部署多个应用(如/app1和/app2)

当然可以!只需要把多个应用的构建产物整理到同一个父目录下,用serve托管这个父目录即可:

步骤1:分别配置每个React项目的子路径

  • 第一个项目的package.json添加"homepage": "/app1"
  • 第二个项目的package.json添加"homepage": "/app2"
  • 分别对两个项目执行npm run build,得到各自的/build目录。

步骤2:整理目录结构

创建一个总目录(比如叫multi-apps),然后在里面创建app1和app2两个子目录,把两个项目的/build内容分别复制进去:

multi-apps/
├── app1/
│   ├── static/
│   ├── index.html
│   └── ...(第一个项目的build文件)
└── app2/
    ├── static/
    ├── index.html
    └── ...(第二个项目的build文件)

步骤3:用serve托管总目录

运行以下命令:

serve multi-apps

现在就可以通过myserver:5000/app1访问第一个应用,myserver:5000/app2访问第二个应用了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:19:25