admin管理员组文章数量:1794759
vue3 + vite Cannot access ‘xxx‘ before initialization 组件热更新失败,es模块循环引用问题
问题原因
本人 在 pinia stores 文件中使用了 router ,而main.ts 已经引入过router main.ts
import { createApp } from "vue" import { createPinia } from "pinia" import App from "./App.vue" import router from "./router" //已引入router import "@/assets/tailwind/TaiWind.css" const app = createApp(App) app.use(createPinia()) app.use(router) app.mount("#app")pinia 下 modelCache.ts 文件
import { defineStore } from "pinia" import router from "@/router" //再次引入了 routerpinia 下 modelCache.ts 文件使用了router 并Model组件中 引入了modelCache.ts 该文件 这样导致es模块循环 vite热更新失败
解决pinia 下 modelCache.ts 文件 router 引入方式改为 函数引入 在使用actions里面函数需要用到router 再去 useRouter() 获取实例 否则提前获取router为undefined; 因为 useRouter() 要在setup下使用
import { defineStore } from "pinia" //import router from "@/router" import { useRouter } from "vue-router" actions:{ setModelBreadcrumbList(){ const router = useRouter() } }版权声明:本文标题:vue3 + vite Cannot access ‘xxx‘ before initialization 组件热更新失败,es模块循环引用问题 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686963993a122980.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论