NodeJS 如何在不同的端口运行react端口和backend端口?

wdebmtf2  于 2022-12-18  发布在  Node.js
关注(0)|答案(2)|浏览(170)

我运行一个react前端应用程序,我也在后端提供一个API,当我运行“node server.js”时,它在5000端口运行,当我启动npm时,它试图在5000端口运行,但由于它很忙碌,我选择了一个不同的端口,它转到5001。
然而,如果我使用nodemon和并发地在一个命令中同时运行前端和后端,就不会有强烈的React来询问我端口是否忙碌,我怀疑后端不会运行,因为我无法通过localhost/API/data link到达它。
如何在不同的端口运行它们?我在启动脚本中使用craco是因为我使用了tailwindcss,所以cross-env不起作用

qoefvg9y

qoefvg9y1#

我怀疑您使用的是create-react-app样板文件。
在这种情况下,您可以在package.json文件中添加一个proxy字段,以通知react服务器将请求本地转发到一个单独的端点。
更多信息请访问:https://create-react-app.dev/docs/proxying-api-requests-in-development/
如果后端运行在端口5000上,请将以下内容添加到package.json

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

一旦完成,启动React服务器,它应该做自己的转发无关的cors。

yuvru6vn

yuvru6vn2#

这里你可以做的是提供一个代理和一个端口:

"proxy": "http://localhost:5000"
...
  "scripts": {
    "start": "PORT=2000 react-scripts start",
...

这样,服务器将从2000启动,所有HTTP调用将代理到5000。

相关问题