Vue 组件自动注册

Posted __曾经沧海难为水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 组件自动注册相关的知识,希望对你有一定的参考价值。

首先简单介绍一个语法

require.context()

这是webpack中的一个API,能做到遍历一个文件夹中的指定文件并自动引入

 

现在要实现的也就是: 遍历指定文件的同时将它注册

在main.js中 代码实现:

import Vue from \'vue\'

const componentsContext = require.context(\'./components\', true, /index.vue$/)
// require.context() 第一个参数就是需要注册的组件的位置 componentsContext.keys().forEach(component
=> // 获取文件中的 default 模块 const componentConfig = componentsContext(component).default Vue.component(componentConfig.name, componentConfig)
  // componentConfig.name 就是组件名称 )

首先通过 require.context() 获取 ./components 目录下所有文件夹里的 index.vue 文件,然后循环依次读取文件中的 default 模块,并使用组件的 name 做为组件名进行组件注册。

有一点需要注意,因为获取的是目录下的组件名name进行注册, 所以在需要注册的组件中必须声明组件名 name

export default 
    name: \'组件名\'

 

 

require.context

以上是关于Vue 组件自动注册的主要内容,如果未能解决你的问题,请参考以下文章

从文件夹中自动全局注册 vue 单个文件组件

Vue自动化注册全局组件脚本

批量自动化注册全局组件(Vue3)

vue 组件自动注册

Vue 组件自动注册

Vue组件之全局组件与局部组件