【发布时间】:2018-10-02 08:17:55
【问题描述】:
我有一个与 REST API 配合使用的 React 应用程序,该应用程序与 React 应用程序部署在同一台机器上。
- React 应用程序部署在端口 80 上(使用 Apache Http Server)
- REST API 是一个基于 Flask 的应用程序,部署在端口 5000 上。
目前,作为一种解决方法,我将生产服务器设置为在主机 X.Y.W.Z 上运行,因此我在 React 文件中对 API 目标进行了硬编码:
const API_HOST = 'http://X.Y.W.Z:5000'
如果我希望它与 React 应用程序位于同一主机但在不同的端口上,那么设置 API 目标的最佳做法是什么? (看到一些关于它的帖子,但没有人有解决方案,例如here 和here)
也许将请求从 React Router 转发到 WebServer 并在那里设置一个反向代理?如何配置?
在开发服务器上,我使用了 package.json 中的 proxy 属性(如 here)来转发请求 - 但它在特定的开发服务器上,它仍然应该是硬编码的。
(我认为定义不应该依赖于部署的主机(明天我可以将主机更改为不同的服务器 - 所以我应该始终设置 API 目标?)
【问题讨论】: