Vue自动化全局注册基础组件

2022-12-15 18:02:57 浏览数 (13)

前言

项目中有许多通用的组件,为了避免在每个组件都引入一个长列表,可在入口函数注册基础组件

准备

安装 lodash

代码语言:javascript复制
npm i lodash --save

入口文件

代码语言:javascript复制
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 
  )
})

参考文档

  • Vue组件注册
  • lodash

0 人点赞