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

如何在react-scripts启动时添加自定义Express服务器?

用Create React App启动时同时运行Express服务器的方案

1. 准备Express服务器文件

在项目根目录创建server.js,示例代码如下:

const express = require('express');
const app = express();
const port = process.env.SERVER_PORT || 5000;

// 示例API接口
app.get('/api/hello', (req, res) => {
  res.send('来自Express服务器的响应');
});

app.listen(port, () => {
  console.log(`Express服务器已启动,端口:${port}`);
});

2. 安装依赖

需要用concurrently同时运行两个进程,执行安装命令:

npm install concurrently --save-dev

3. 修改package.json的脚本

找到scripts字段,替换原有配置为:

"scripts": {
  "start": "concurrently \"npm run start:react\" \"npm run start:server\"",
  "start:react": "react-scripts start",
  "start:server": "node server.js",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
}

之后执行npm start,就能同时启动React开发服务器和Express服务器。

4. 配置代理解决跨域(可选)

如果React应用需要调用Express的API,在package.json中添加代理配置:

"proxy": "http://localhost:5000"

这样React里发起的/api/hello请求会自动转发到Express服务器的对应接口,无需手动写完整域名。

额外说明

  • 确保Express服务器端口(如5000)和React默认的3000端口不冲突。
  • 这种方式不需要执行eject,保留了Create React App的默认配置,后续维护更方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:19:51