axios拦截器时获取不到store
axios/interceptor.js
import axios from 'axios' import { ElMessage } from 'element-plus'
import store from '@/vuex' console.log(store)//undefined
axios/index.js
import { ElMessage, ElLoading } from 'element-plus'
import instance from './interceptor'
原因:注意资源的引入顺序。
解决方案:在main.js中引入封装好拦截器的axios时,axios需要放在store之前,不然在axios拦截器中无法获取store对象
import { createApp } from 'vue' import 'virtual:svg-icons-register' import axios from './axios' import store from './vuex' createApp(App).use(store).use(router).use(ElementPlus).mount('#app')
只有在泥泞的道路上才能留下脚印