项目中有许多通用的组件,为了避免在每个组件都引入一个长列表,可在入口函数注册基础组件
安装
lodash
库
npm i lodash --save
import Vue from 'vue'
import { camelCase, upperFirst } from 'lodash/string'
const requireComponent = require.context(
// 组件目录的相对路径
'./components',
// 是否查询其子目录
false,
// 匹配基础组件文件名
/Base[A-Z]\w+\.(vue|js)$/
)
requireComponent.keys().foreach(fileName => {
// 获取组件配置
const componentConfig = requireComponent(fileName)
// 获取组件的大驼峰命名
const componentName = upperFirst(
camelCase(
fileName.split('/').pop().replace(/\.\w+$/, '')
)
)
// 全局注册组件
Vue.component(
componentName,
componentConfig.default || componentConfig
)
})