Axios的VueJS SPA动态baseURL

问题描述 投票:0回答:1

我已经搜索了很多,似乎找不到这种模式。我认为自己是Vue中级开发人员,但是后端是我的强项。我正在开发一个将由经销商贴上白色标签的应用程序。尽管可能有多个版本,但避免这种情况是理想的。该设置是一个独立的vue-cli SPA,它连接到Laravel api后端并使用Sanctum auth软件包。因此,我需要调用相同的域。问题是:转销商将在自己的域中。问:是否有一种模式/解决方案,用于动态加载不同域的配置(主要是baseURL)(其他项将通过主题/样式表)。目前,我有一些典型的条目:

axios.defaults.baseURL = process.env.VUE_APP_API_BASE_URL

[基本上,基于要服务该站点的域,我想要一个动态/运行时配置。我觉得这已经解决了,但是我似乎无法在某个方向上使用正确的搜索字词,因此任何事情都是有帮助的。我已经尝试了几件事:

1)用js进行解析,但是似乎无法使其在运行过程中尽早运行以生效?看来可行,但我无法按一下[]

2)使用当前域命中公共API端点并获取配置。同样,可以实现,但似乎无法使其正确注入Vue一侧?

任何资源,模式参考或一般指导都将非常有益,以避免仅针对几个变量维护多个构建。就是说,我认为这没有太多开销,但是也可以告诉我我错了,需要多个构建。

laravel api vue.js vue-cli laravel-sanctum
1个回答
0
投票
像这样创建一个axios实例:

export const axiosInstance = axios.create({ // ...configs baseURL: process.env.VUE_APP_URL_YOU_WOULD_LIKE_TO_HIT })

然后每当我向某个api请求时,我都会使用此实例。

© www.soinside.com 2019 - 2024. All rights reserved.