如何根据当前域在axios中修改baseURL

时间:2020-11-12 11:51:52

标签: javascript node.js vue.js axios nuxt.js

我要做的是在nuxt应用程序中创建一个Axios实例,并将baseURl修改为与域相同,但带有一些前缀,然后从外部js文件导入该实例。

例如,我尝试拦截请求并修改域,但是在普通的Axios包中,'@ nuxt / axios'模块中没有对当前域的引用,但只有当我使用模块:

axiosInstance.js:

import axios from 'axios';

// Note I don't want to use baseURL to be static.
const api = axios.craete();

api.interceptors.request.use( (config) => {
   const prefixedDomain = prefixDomian(config.headers.common.refere)
   config['baseURL'] = prefixedDomain
   return config;
}, (error)=> {
   return Promise.reject(error);
});

export default api

test.js:

import api from 'axiosService';

const settings = async () => {
   const setting = await api.get('/settings');
   return settings
}
export default settings

但是此代码不起作用,因为标头在配置中为空。

我想要的唯一结果是创建一个带有baseURL前缀的Axios实例,并且可以将其导入并在外部文件中使用。

0 个答案:

没有答案