vue3 + vite Cannot access ‘xxx‘ before initialization 组件热更新失败,es模块循环引用问题

这篇具有很好参考价值的文章主要介绍了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" //再次引入了 router

pinia 下 modelCache.ts 文件使用了router 并Model组件中 引入了modelCache.ts 该文件 这样导致es模块循环 vite热更新失败
vue3 + vite Cannot access ‘xxx‘ before initialization 组件热更新失败,es模块循环引用问题,vue3,vue.js,javascript,前端

解决

pinia 下 modelCache.ts 文件 router 引入方式改为 函数引入
在使用actions里面函数需要用到router 再去 useRouter() 获取实例 否则提前获取router为undefined;
因为 useRouter() 要在setup下使用文章来源地址https://www.toymoban.com/news/detail-518515.html

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模块循环引用问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vite】Vite切换版本(Vite+vue3)报错 [vite] Internal server error: Cannot set property ‘id‘ of undefined

    Vue3+vite的项目,在全局安装新的Vite版本后,一直报下图错误。 报错信息 通过很多方式没有解决,最后发现是Vite版本的问题,因为Vue是从脚手架中引入的 查看package.json和package.lock.json区别 修改 将 package.json 中vite的版本号固定后,安装( npm install )发现仍有问题 最终解决 查

    2024年02月16日
    浏览(37)
  • VITE+VUE3动态导入组件

    通常的动态组件导入方式   vue中又是时候我们会使用到动态组件导入,比如路由组件的动态导入,一般类似路由组件的动态导入的方式: ()=import(path); ()=defineAsyncComponent(()=import(path)) vite中使用的错误 但是这写方式进行动态导入组件的时候在vite+vue3项目下都是不行的,开发

    2024年02月14日
    浏览(33)
  • Cannot Reference “XxxClass.xxx” Before Supertype Constructor Has Been Called

    百度翻译:在调用超类型构造函数之前无法引用“XxxClass.xxx” ----- 我的理解:在一个类的构造器方法还未执行的时候,我们无法使用这个类的成员属性或成员方法。   下面是会出现此错误的示例代码 IDE提示错误: Cannot reference \\\'MyException.getErrorCode\\\' before supertype constructor has

    2024年02月09日
    浏览(29)
  • VUE3+vite项目中动态引入组件和异步组件

    1. 把项目中所有vue文件注册成异步组件。 2. 获取组件 在setup函数获取组件 3. 参考如下 Glob 导入 Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块: 以上将会被转译为下面的样子: 你可以遍历 modules 对象的 key 值来访问相应的模块: 匹配到的文件默认是懒加载的

    2024年02月10日
    浏览(88)
  • vue2+webpack升级vue3+vite,报错Cannot read properties of null (reading ‘isCE‘)

    同学们可以私信我加入学习群! 系列文章:vue2+webpack升级vue3+vite,修改插件兼容性bug 前面的文章主要是介绍,在升级初始阶段遇到的一些显而易见的兼容性问题和bug。随着项目迭代的不断深入,一些不容易暴露的问题也渐渐呈现。 本文主要记录一些开发重构过程中的bug vu

    2024年01月18日
    浏览(46)
  • 前端 vite+vue3——写一个随机抽奖组件

    大家好,我是yma16,本文分享关于前端 vite+vue3——写一个抽奖随机组件。 vue3系列相关文章: 前端vue2、vue3去掉url路由“ # ”号——nginx配置 csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板 认识vite_vue3 初始化项目到打包 python_selenuim获取csdn新星赛道选手所在城

    2024年02月08日
    浏览(30)
  • Vue3+vite实现组件上传npm并应用

    场景 :就是A项目的组件需要在B项目中使用 下面举例的是把a项目pagination分页组件上传到npm,在b项目使用 采坑日记 :封装的组件一定要起name要不调用不成功 1.1 首先在公用组件components文件夹下创建index.js文件,  1.2 index.js  1.3 vite.config.js  1.4 package.json  执行npm run build打包

    2024年02月16日
    浏览(32)
  • vue3+ts+vite项目引入echarts,vue3项目echarts组件封装

    技术栈 :Vue3 + Ts + Vite + Echarts 简介 : 图文详解,教你如何在 Vue3 项目中 引入Echarts , 封装Echarts组件 ,并实现常用Echarts图例 1.1 静态效果 1.2 动态效果 2.1 安装 Echarts npm: pnpm: 2.2 main.ts 中引入 2.3 Echarts 组件封装 /src/components/ReEcharts/index.vue 文件中写入如下代码 3.1 柱状图 实现

    2024年02月09日
    浏览(46)
  • 从0搭建Vue3组件库(五): 如何使用Vite打包组件库

    本篇文章将介绍如何使用 vite 打包我们的组件库,同时告诉大家如何使用插件让打包后的文件自动生成声明文件(*.d.ts) 打包配置 vite 专门提供了库模式的打包方式,配置其实非常简单,首先全局安装 vite 以及@vitejs/plugin-vue pnpm add vite @vitejs/plugin-vue -D -w 在 components 文件下新建vite.

    2024年01月24日
    浏览(30)
  • Vue3报错:Property “xxx“ was accessed during render but is not defined on instance.

    Vue3报错:Property “xxx” was accessed during render but is not defined on instance. 翻译:属性“xxx”在呈现期间被访问,但没有在实例上定义。 其实就是在模板上有,但是在script上没有定义 很多同学跟说这不是报错,是警告,其实只要是在渲染页面时出现的问题,我们都可以说成是报错

    2023年04月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包