vue实现整体注册组件

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

最后main.js中导入

image.png

注意点

  1. 整体注册组件时要注意组件要有name名字

image.png

  1. 要注意require.context第一个参数 ./ 路径的问题,不要写错