加入收藏 | 设为首页 | 会员中心 | 我要投稿 周口站长网 (https://www.0394zz.cn/)- 数据采集、智能营销、经验、云计算、专属主机!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

vue怎样自动导入公共组件?

发布时间:2022-02-25 13:52:11 所属栏目:语言 来源:互联网
导读:vue怎样自动导入公共组件?其实想要实现自动导入公共组件并不困难,但是有一些问题以及规则需要注意,下面小编就给大家介绍一下vue导入公共组件的方法和步骤。 一、前提 我们使用的是require.context方法导入,在vite创建的项目内使用会报错require not foun
    vue怎样自动导入公共组件?其实想要实现自动导入公共组件并不困难,但是有一些问题以及规则需要注意,下面小编就给大家介绍一下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')

(编辑:周口站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读