pinia创建了个userInfo专门用于是否在加载中,然后二次封装的request.ts文件中使用了,因为用户信息是全局组件,所以就将用户的所有信息放在了userInfo中。 但是我在userInfo中使用的时候,发现报错: [🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"? See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help. This will fail in production.
如果重新引用一次pinia这种方法虽然可以解决问题,但是如果项目中使用了pinia的持久化,那个被引入的模块的持久化就会失效。一般可以在方法内声明使用这样就不会报错也不会出现持久化失效的问题
import axios from 'axios'
import { useUserInfoStore} from "~/stores/userInfo";
// 创建axios实例
const requester = axios.create({
//设置基础路径
// baseURL: 'http://127.0.0.1/',
// 请求超时时间
timeout: 15000
})
requester.interceptors.request.use((config) => {
/* 将引用信息在方法内部生命使用,这样就不会报错了*/
const userInfo = useUserInfoStore()
Object.assign(config.headers,{token:userInfo.token})
return config
})