nuxt代理不适用于axios多个baseURL

时间:2020-11-09 10:12:55

标签: proxy axios nuxt.js

我使用axios内置代理在nuxt.config文件中定义多个代理

proxy: {
'/api/v1': {
  target: 'www.example.v1',
  pathRewrite: { '^/api/v1': '' }
},
'/api/v2': {
  target: 'www.example.v2',
  pathRewrite: { '^/api/v2': '' }
}
},

并根据参数在axios.js文件中设置Axios baseURL。

axios.interceptors.request.use((config) => {
const v = config.params.version

let baseURL = null
switch (v) {
  case 'v1':
    baseURL = '/api/v1'
    break
  case 'v2':
    baseURL = '/api/v2'
    break
}
if (baseURL) { config.baseURL = baseURL }
return config
})
}

当我运行项目时,API调用将调用v1,以便axios基本URL和代理正常工作,我的意思是发送http://localhost:3000/api/v1/data/for/test并调用www.example.v1。但问题是第二个请求,axios baseUrl已更改,但代理不适用。

用确切的词: axios发送的请求为http://localhost:3000/api/v2/data/for/test,但access-control-allow-origin:www.example.v1

如何在代理中应用更改?

0 个答案:

没有答案