vue3.0公共组件自动导入的方法实例
时间:2021-11-21 10:51:05|栏目:vue|点击: 次
一、前提
我们使用的是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.js import { 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')
当我们新建、删除、给公共组件改名等操作,注册方面就不需要任何操作了。重启一下项目,喝口水的时间就行了 。
总结
上一篇:vue环形进度条组件实例应用
栏 目:vue
本文标题:vue3.0公共组件自动导入的方法实例
本文地址:http://www.codeinn.net/misctech/184283.html