gpt4 book ai didi

node.js - 在不同端口上运行前端和后端

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:54 26 4
gpt4 key购买 nike

嗨,我在不同的端口但在同一主机上运行我的前端(create-react-app)和后端服务器(express.js)。例如:前端位于 127.0.0.1:3000 上,后端位于 127.0.0.1:3003 上。

在我的 package.json 中:

{...
"proxy": "http://localhost:3003",
...}

一切正常,直到我没有将我的应用程序迁移到远程服务器。

当我尝试向服务器发送 http 请求 (axios) 时,我的应用程序开始意外刷新(可能是由于代理设置错误)。

因此,我的前端应用程序在 35.125.320:10:3000 上运行,服务器在 35.125.320:10:3003 上运行。我的 http 请求意外被取消。 (我检查了网络)。所以我将代理设置更改为

{...
"proxy": "35.125.320:10:3003",
...}

但无论如何,当我尝试进行 http 请求时,我的应用程序仍然令人耳目一新。在服务器上。我认为问题是我无法访问我的 Express 后端服务器。所以代理转发我的请求很糟糕。

更新

场景:(我正在执行两个发布请求)

1)第一个请求仍然通过(应用程序未刷新)

2)相同的请求已通过(但有时应用程序会刷新)

3) 第二个仍然被浏览器取消。

问题

当我的前端在不同端口但在同一服务器和域上运行时,我的前端如何通过代理与后端服务器通信?

谢谢你的回答。

最佳答案

解决方案:

问题是我在生产中使用了仅适合开发的代理。

我在我的express.js 服务器中添加了这一行:

app.use(express.static(`${process.cwd()}/build`));
app.use(express.static(`${process.cwd()}/public`));

我从我的构建文件夹中进行构建并提供 js、css 文件。而且我还需要从我的公共(public)文件夹中提供静态文件(图像、文件夹等)。

此问题还可能导致浏览器在生产环境中取消 http 请求。意味着请求无法到达服务器。

关于node.js - 在不同端口上运行前端和后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49541229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com