我有一个REST应用程序,它与REST一起工作,该API部署在与React应用程序相同的机器上。
目前,作为一种解决办法,我将生产服务器设置为在主机X.Y.W.Z上运行,因此我在React文件中对API目标进行了硬编码:
const API_HOST = 'http://X.Y.W.Z:5000‘
如果我希望API目标与React应用程序位于不同的端口上,那么设置API目标的最佳实践是什么?(看到了一些关于它的帖子,但没有人有解决方案,比如这里和这里 )
也许是将React路由器的请求转发到WebServer,并在那里设置一个反向代理?如何配置?
在开发服务器上,我使用了package.json中的package.json属性(作为这里)来转发请求--但是它在特定的开发服务器上,它仍然应该被硬编码。
(我认为定义不应该依赖于已部署的主机(明天我可以更改为不同的服务器,所以我应该始终设置API目标吗?)
发布于 2018-10-02 03:26:15
根据节点环境更改API_HOST。
const API_HOST = process.env.NODE_ENV === 'production' ? 'http://X.Y.W.Z' : 'http://X.Y.W.Z:5000';
。
如果您正在为开发服务器使用代理,则可以将API_HOST
指定为
const API_HOST = process.env.NODE_ENV === 'production' ? 'http://X.Y.W.Z' : '';
发布于 2021-05-05 06:37:04
const API_HOST = process.env.NODE_ENV === 'production' ? 'http://X.Y.W.Z' :
'http://X.Y.W.Z:5000';
如果使用代理进行开发服务器,则可以将API_HOST指定为:
const API_HOST = process.env.NODE_ENV === 'production' ? 'http://X.Y.W.Z' : '';
https://stackoverflow.com/questions/52604495
复制相似问题