vue如何实现全局组件注册
发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,这篇文章主要为大家展示了"vue如何实现全局组件注册",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"vue如何实现全局组件注册"这篇文章吧。全局组件注册1
千家信息网最后更新 2025年11月20日vue如何实现全局组件注册
这篇文章主要为大家展示了"vue如何实现全局组件注册",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"vue如何实现全局组件注册"这篇文章吧。
全局组件注册
1 一般情况
需要使用组件的场景:
我们写了一堆基础UI组件,然后每次我们需要使用这些组件的时候,都得先import,然后声明components,很繁琐,这里可以使用统一注册的形式
2 优化
我们需要借助一下神器webpack,使用 require.context() 方法来创建自己的 模块 上下文,从而实现自动动态require组件。这个方法需要3个参数:要搜索的文件夹目录、是否还应该搜索它的子目录、以及一个匹配文件的正则表达式。 我们在components文件夹添加一个叫componentRegister.js的文件,在这个文件里借助webpack动态将需要的基础组件统统打包进来。 /src/components/componentRegister.js
import Vue from 'vue'/** * 首字母大写 * @param str 字符串 * @example heheHaha * @return {string} HeheHaha */function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1)}/** * 对符合'xx/xx.vue'组件格式的组件取组件名 * @param str fileName * @example abc/bcd/def/basicTable.vue * @return {string} BasicTable */function validateFileName(str) { return /^\S+\.vue$/.test(str) && str.replace(/^\S+\/(\w+)\.vue$/, (rs, $1) => capitalizeFirstLetter($1))}const requireComponent = require.context('./', true, /\.vue$/)// 找到组件文件夹下以.vue命名的文件,如果文件名为index,那么取组件中的name作为注册的组件名requireComponent.keys().forEach(filePath => { const componentConfig = requireComponent(filePath) const fileName = validateFileName(filePath) const componentName = fileName.toLowerCase() === 'index' ? capitalizeFirstLetter(componentConfig.default.name) : fileName Vue.component(componentName, componentConfig.default || componentConfig)})这里文件夹结构:
components│ componentRegister.js├─BasicTable│ BasicTable.vue├─MultiCondition│ index.vue
这里对组件名做了判断,如果是index的话就取组件中的name属性处理后作为注册组件名,所以最后注册的组件为: multi-condition 、 basic-table 最后我们在main.js中import 'components/componentRegister.js',然后我们就可以随时随地使用这些基础组件,无需手动引入了~
以上是"vue如何实现全局组件注册"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
组件
文件
全局
文件夹
内容
基础
篇文章
动态
方法
学习
帮助
搜索
繁琐
随时随地
上下
上下文
参数
场景
大写
子目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库应用基础
企业文件服务器配置方案
从零自学网络技术
网络技术 素材
河南晟驰网络技术有限公司
乐清手机软件开发
网络安全校园日文
联想服务器的驱动
数据库账号被锁
数据库 全称量词
远程数据库导入和本地导入
物流公司网络安全规章
竹马之友互联网科技有限公司
阳信软件开发教程教学视频
数据库类型与java
怎样投资软件开发企业
成都悦禾网络技术有限公司
深圳糖果星球网络技术有限公司
简单网络安全常识
论述网络技术对网络的影响
linux yum数据库
自己生存做的图可以用在服务器吗
ecs云服务器第一次使用感受
大学生网络安全的观点
服务器应用程序不能用什么原因
服务器计算芯片初创公司
软件开发容易入手吗
cs进销存管理系统服务器
access数据库添加装备
上海平达网络技术有限公司