vue自动注册全局组件

  1. 在src 目录下创建从components文件夹,用以存放基础公用组件。

  2. 在components文件夹下创建autoRegister.js文件,用来获取所有文件,实现自动注册组件,代码如下:
    在这里插入图片描述

    autoRegister.js:

    // autoRegister.js
    /**
     * 全局组件自动注册
     *
     * 全局组件各个组件按文件夹区分,文件夹名称与组件名无关联,但建议与组件名保持一致
     * 文件夹内至少保留一个文件名为 index 的组件入口,例如 index.vue
     * 组件必须设置 name 并保证其唯一,自动注册会将组件的 name 设为组件名,可参考 SvgIcon 组件写法
     * 如果组件是通过 js 进行调用,则确保组件入口文件为 index.js,可参考 ExampleNotice 组件
     */
    import Vue from 'vue'
    const componentsContext = require.context('./',true,/index.(vue|js)$/)
    componentsContext.keys().forEach(file_name => {
        console.log("------组件-----",componentsContext(file_name).default);
        // 获取文件中的 default 模块 (若是.vue文件,则componentConfig就是一个vue组件)
        const componentConfig = componentsContext(file_name).default
        if((/.vue$/).test(file_name)){//vue文件
            Vue.component(componentConfig.name,componentConfig)//组件全局注册: Vue.component(注册的名称,vue组件)
        }else{ //js文件
            Vue.use(componentConfig)
        }
        
    });
    

    打印componentsContext(file_name).default内容如下:
    在这里插入图片描述

  3. 在main.js 中引入autoRegister.js
    在这里插入图片描述

  4. 在需要的地方直接使用
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值