【发布时间】:2020-11-18 09:23:02
【问题描述】:
我有一个api.js,它默认导出一个axios.create() 实例:
import axios from 'axios'
import Cookies from 'js-cookie'
const api = axios.create({
baseURL: process.env.VUE_APP_API_URL,
timeout: 10000,
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${Cookies.get('Token')}`,
Organization: Cookies.get('Organization'),
Company: Cookies.get('Company')
}
})
export default api
然后我将它导入到多个文件中,如下所示:
//api/users.js
import api from './api.js'
const methods = {
postUser (params) {
return api.post('/users', params)
},
getUser (id) {
return api.get('/users/' + id)
}
}
export default methods
但是会有一些函数应该更新 Cookie Organization 和 Company,我想知道是否可以更新默认的 api 实例并在所有使用它的导入中自动更新它。我知道一个简单的页面刷新会起作用,但我正在构建一个 SPA,我想阻止手动刷新屏幕。
【问题讨论】:
标签: javascript vue.js ecmascript-6 vuejs2 axios