vue如何批量注册组件

在components目录下的index.js文件中导入需要注册的组件

import pageTools from './pageTools/index.vue'
import uploadExcel from './uploadExcel/index.vue'
import imageUpload from './imageUpload/index.vue'

export default {
  install(Vue) {
    Vue.component('pageTools', pageTools)
    Vue.component('uploadExcel', uploadExcel)
    Vue.component('imageUpload', imageUpload)
  }
}

在main.js中通过Vue.use()可以快速注册组件

// 全局注册组件
import component from '@/components/index'
Vue.use(component)

如果有十个二十个组件需要使用,那么就要在install方法中注册十次二十次。这个时候我们就可以使用webpack的语法批量注册组件。

import Vue from 'vue'
//  使用的是webpack require.context(路径【表示公共的组件的目录】,文件深入循环查找【bool】,正则【最终要使用的组件】 )
const requireComponent = require.context('./', true, /\.vue$/)
console.log(requireComponent.keys(),1111)
requireComponent.keys().forEach((item) => {
 console.log(requireComponent(item)) 
  /* 获取的是 每一个组件暴露出来的对象 */
  const defaultObj = requireComponent(item).default
  Vue.component(defaultObj.name, defaultObj)
})

 

 

注意使用批量注册组件的时候,一定一定要在组件内部使用name属性命名,不然会报错!!!因为组件那么名字会作为组件名来进行注册。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值