React 是一个用于构建用户界面的 JavaScript 库,特别适合构建单页应用程序(SPA)。Visual Studio Code(VS Code)是一个流行的代码编辑器,支持多种编程语言和开发工具。
在不同的端口上运行两个 React 应用程序意味着每个应用程序都在其独立的服务器实例中运行,监听不同的网络端口。这通常用于开发和测试环境中,以便同时运行和比较多个版本的应用程序或不同的功能分支。
确保每个 React 应用程序配置了不同的端口号。可以在 package.json
文件中的 scripts
部分修改启动命令,例如:
// 第一个应用
"scripts": {
"start": "react-scripts start --port 3000"
}
// 第二个应用
"scripts": {
"start": "react-scripts start --port 3001"
}
可以通过设置代理来解决跨域问题。在 React 应用的 src
目录下创建 setupProxy.js
文件,并配置代理规则:
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
createProxyMiddleware({
target: 'http://localhost:3001', // 目标服务器地址
changeOrigin: true,
})
);
};
这样,当第一个应用向 /api
发起请求时,会被代理到第二个应用的服务器上。
假设我们有两个简单的 React 应用程序,分别位于 app1
和 app2
目录中。
app1/package.json:
{
"name": "app1",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start --port 3000"
},
...
}
app2/package.json:
{
"name": "app2",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start --port 3001"
},
...
}
在 app1/src/setupProxy.js
中配置代理:
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
createProxyMiddleware({
target: 'http://localhost:3001',
changeOrigin: true,
})
);
};
通过以上配置,两个应用可以在不同的端口上独立运行,并且第一个应用可以通过代理访问第二个应用的 API 资源。
领取专属 10元无门槛券
手把手带您无忧上云