vuex文件
const user = {
state: () => ({
userInfo: {
}
}
),
mutations: {
increment(v) {
this.userInfo = v;
}
},
actions: {
increment(context,value) {
context.commit("increment",value);
}
}
};
export default user;
import { createStore } from 'vuex'
import user from './user'
// 创建一个新的 store 实例
const store = createStore({
state() {},
mutations: {},
actions: {},
modules: {
user
}
})
export default store
request.js文件
import { ElMessage } from "element-plus";
import { useStore } from "vuex";
const store = useStore();
// 创建一个axios实例
const service = axios.create({
// 基地址
baseURL: import.meta.env.VITE_APP_BASE_URL,
//超时时间 单位毫秒
timeout: 10000
});
service.defaults.withCredentials = true;
// 请求拦截器 请求成功执行第一个,失败第二个
service.interceptors.request.use(
(config) => {
//获取token
config.headers.token=store.state.user.userInfo.token || "";
return config;
},
(error) => {
console.log("请求失败");
return Promise.reject(error);
}
);
在vue组件中可以这样使用,但是js文件中这样用就报错了
如何解决呀?