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')

 

posted @ 2022-08-19 10:30  最爱小虾  阅读(681)  评论(0编辑  收藏  举报