时间:2021-05-26
我们使用的是require.context方法导入,在vite创建的项目内使用会报错"require not found",所以必须用webpack创建项目。或者有大能可以说说vite怎么解决这个问题。
我使用的注册规则是,搜索src/components/路径下的所有目录和子目录,搜索文件名叫做"index.vue"的文件,使用上级目录的名字作为组件名,进行注册。结构如下:
只注册index.vue,其他名字的组件不注册,
由于vue3.0没有import “Vue” from vue,我们需要使用app来注册,所以只能在 main.js
入口文件注册
// src/main.jsimport { createApp } from 'vue'const app = createApp(App)// 动态注册公共组件const requireComponent = require.context( // 其组件目录的相对路径 '@/components', // 是否查询其子目录 true, // 匹配基础组件文件名的正则表达式 /index.vue$/)const jieguo = requireComponent.keys().filter((item:any)=> true)jieguo.forEach((item:any)=>{ const componentConfig = requireComponent(item) const name = item.split("/")[1] app.component(name,componentConfig.default || componentConfig)})// 注册结束app.mount('#app')当我们新建、删除、给公共组件改名等操作,注册方面就不需要任何操作了。重启一下项目,喝口水的时间就行了 。
到此这篇关于vue3.0公共组件自动导入的文章就介绍到这了,更多相关vue3.0公共组件导入内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言随着我们vue3.0的出现,我们的ui组件库也有了一些变化,像我们的旧版的element-ui已经不能在vue3.0中使用了,如果要使用element的话需
本文实例为大家分享了vue3.0实现点击切换验证码(组件)及校验的具体代码,供大家参考,具体内容如下先看效果父组件点击更换验证码提交//ref接受一个内部值并返
前言:在vue3.0中使用element框架,因为element是支持vue2.0的,他推出的支持vue3.0的版本叫element-plus官网入口:点我进入
Vue变化检测Object使用DefineProperty、数组使用方法拦截实现。最近,Vue3.0将采用ES6Proxy的形式重新实现Vue的变化检测,在官方
熟悉vue的人都知道在vue2.x之前都是使用object.defineProperty来实现双向数据绑定的而在vue3.0中这个方法被取代了1.为什么要替换O