提问者:小点点

将CreateReact应用程序部署到子目录,但对父路径进行API调用


我正在将我的Create React应用程序部署到更大的非React Web应用程序中的特定路径。例如,我会说webapp路径是www.example。com和React应用程序部署在www.example。com/react/

我通过将React应用程序package.json中的“主页”属性设置为“主页”:“/反应”,它确实正确地服务于我服务器上 /react/路径中的静态文件。

但是,当我从react应用程序调用API时,它们会转到/react/API/etc,而不是/API/etc

我可以将axios配置为使用www.example的硬编码基本路径。com,但我将其部署到具有不同URL的多个环境中,并且需要一个不依赖硬编码值的解决方案。

我也可以在服务器端编写一个变通方法,但这样会减少日志记录和请求统计数据的整洁/混乱。

我希望有一个干净的解决方案,如果有的话。


共1个答案

匿名用户

如果您使用窗口会怎么样。axios配置对象中的位置属性:

{
  baseURL: `${location.hostname}/api/` // or window.location.hostname
}