我使用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
如何在代理中应用更改?