我正在使用Nginx
提供构建的反应文件。我可以在我的虚拟机IP地址上访问浏览器中的react应用程序。
我在我的VM上运行另一台服务器端口8080
,即react应用程序的API。
在我的反应中,我使用像
这样的axios调用const http = "http://localhost:8080";
..
axios.post(`${http}/api/auth/login`, { credentials }).then(res => res.data.user),
在我访问我的VM的IP地址后,在我的浏览器中,我可以在控制台中看到所谓的axios呼叫转到http://myActualVMIpAddress/api/..
而不是{I}路径,而不是我期望的那样。
我已经使用api服务器的localhost
检查了路由。
我没有部署经验。如何使react应用程序和api服务器之间的链接工作?
答案 0 :(得分:0)
将localhost:8080硬编码到客户端JS中并不是一个好主意,当用户加载客户端文件时,他们会尝试在用户计算机上发出请求,这是localhost解析的。
最简单的方法是从api服务器提供客户端文件。如果你想保持这些分开,那么你必须使用你的API服务器的IP(而不是localhost)并设置CORS。