require.context(检索的目录,是否检索子文件夹,匹配文件名的正则表达式)
import Vue from 'vue'
const requireComponents = require.context('../', true, /\.vue/)
// 遍历出每个组件的路径
requireComponents.keys().forEach(fileName => {
// fileName得到组件的路径 ./home/index.vue
// 组件实例
const reqCom = requireComponents(fileName)
// 截取路径作为组件名
//fileName.split('/') ----> [.,home,index.vue]
//pop()方法是删除数组最后一位,并返回删除的元素
//fileName.split('/').pop() ----> [index.vue]
//fileName.split('/').pop().split('.')[0] ---->index
const reqComName =
'c' +
fileName
.split('/')
.pop()
.split('.')[0]
//Vue.component(组件名称,组件名称对应的路径)
Vue.component(reqComName, reqCom.default || reqCom)
})