Vue批量注册组件

当我们在开发vue项目中,随着项目的深入,那么使用的组件肯定会越来越多,如果只是几个组件还好,如果组件过多,就会造成繁琐,不好维护的情况,如下图:

在这里插入图片描述
那么有没有一种方法可以实现vue项目的组件批量注册呢?
在这里插入图片描述

思路-大致步骤

  • 使用require 提供的函数 context加载 某一个目录下所有的 ,vue后缀的文件
  • 然后context函数会返回一个导入函数importFn
    • 它有一个属性keys() 获取所有的文件路径
  • 通过文件路径数组, 通过遍历数组,在使用importFn根据路径导入组件对象
  • 遍历的同时进行全局注册即可

落地代码

// 获取文件路径函数
const importFn = require.context('./', false, /\.vue$/)
export default {
  install(app) {
  // 遍历文件路径数组
    importFn.keys().forEach((path) => {
      // 导入组件
      const component = importFn(path).default
      // 注册组件
      app.component(component.name, component)
    })
   }
  }

注意: 总结

  • require.context()是webpack提供的自动导入的API
    • 参数1: 加载的文件目录
    • 参数2: 是否加载子目录
    • 参数3: 正则,匹配文件
    • 返回值: 导入函数importFn
      • keys() 获取读取到的所有文件列表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值