我正在将我的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的多个环境中,并且需要一个不依赖硬编码值的解决方案。
我也可以在服务器端编写一个变通方法,但这样会减少日志记录和请求统计数据的整洁/混乱。
我希望有一个干净的解决方案,如果有的话。
如果您使用窗口会怎么样。axios配置对象中的位置
属性:
{
baseURL: `${location.hostname}/api/` // or window.location.hostname
}