vue 实现基础组件的自动化全局注册


Posted in Vue.js onDecember 25, 2020

参考官网:https://cn.vuejs.org/v2/guide/components-registration.html

在日常开发中,有一些组件是比较常用,但是为了避免在开发过程中不停地引入,或者在main.js中注册,,或者每添加一个组件就需要手动注册一次。则直接进行自动化全局注册。

自动化全局注册,官网上都详细的说明,以下是自己官网的说明基础上进行了一个demo开发实例:

1、自定义文件夹:

在src下新建一个components文件夹,用于存放组件。并新建一个用于存放需要自动化全局注册的组件,例如base。

vue 实现基础组件的自动化全局注册

2、在base文件夹下定义index.js,具体代码如下示:

// 基础组件的自动化全局注册
import Vue from 'vue'
const requireComponent = require.context(
    // 其组件目录的相对路径
    './',
    // 是否查询其子目录
    true,
    // 匹配基础组件文件名的正则表达式
    /\.vue$/
  )
  requireComponent.keys().forEach(fileName => {
    // 获取组件配置
    const componentConfig = requireComponent(fileName)
    // 全局注册组件
    Vue.component(
        componentConfig.default.name,   // 此处的name,是组件属性定义的name
        // 如果这个组件选项是通过 `export default` 导出的,
        // 那么就会优先使用 `.default`,
        // 否则回退到使用模块的根。
        componentConfig.default
    )
  })

以上代码需要解释的地方:

1、匹配基础组件文件名的正则表达式,此处需要根据实际的组件名称和规则进行配置;

2、componentConfig.default.name此处用到的,是表示组件的名称,并不是固定的写法。可以用不同的写法来表示组件名称,例如可以直接解析fileName得出文件夹的名称作为组件名称也是可以的。componentConfig.default.name中的name,来自于组件定义的时候页面的name。若页面没有定义name,则报错。

vue 实现基础组件的自动化全局注册

3、在main.js中引入index.js文件

由于全局注册的行为必须在根 Vue 实例 (通过 new Vue) 创建之前发生。

// 基础组件的自动化全局注册。全局注册的行为必须在根 Vue 实例 (通过 new Vue) 创建之前发生
import './components/base/index'

vue 实现基础组件的自动化全局注册

4、直接在需要的地方使用该组件即可

vue 实现基础组件的自动化全局注册

页面效果如下示:

vue 实现基础组件的自动化全局注册

以上就是vue 实现基础组件的自动化全局注册的详细内容,更多关于vue 组件全局注册的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue中如何添加百度统计代码
Dec 19 Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
Vue如何实现变量表达式选择器
Feb 18 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
vue 使用class创建和清除水印的示例代码
Dec 25 #Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 #Vue.js
vue3使用vue-count-to组件的实现
Dec 25 #Vue.js
vue+openlayers绘制省市边界线
Dec 24 #Vue.js
vue项目中openlayers绘制行政区划
Dec 24 #Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 #Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 #Vue.js
You might like
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
jQuery操作属性和样式详解
2016/04/13 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
详解Python装饰器
2019/03/25 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
授权委托书范本
2014/04/03 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
人事专员岗位说明书
2014/07/29 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
优秀团队申报材料
2014/12/26 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL
如何利用React实现图片识别App
2022/02/18 Javascript