我要做的是在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实例,并且可以将其导入并在外部文件中使用。