当前位置: 首页 > news >正文

前端全局注册知识【持续更新】

1.前端main.js自动注册全局组件

// 自动注册全局组件(必须加在Vue.use();的后面)const modulesFiles = require.context('./components', true, /\.vue$/);
modulesFiles.keys().map((modulePath, index) => {const moduleNames = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1');const moduleSplit = moduleNames.split('/');const moduleName = moduleSplit[0];if (moduleSplit.length === 2 && moduleName === moduleSplit[1]) {const value = modulesFiles(modulePath);let moduleItem = value.default;Vue.component(moduleName, moduleItem);}解析:
1.查找 ./components 文件夹-》递归子目录(true)-》匹配 .vue 结尾的文件
const modulesFiles = require.context('./components', true, /\.vue$/);
2.遍历所有匹配到的 .vue 文件路径(如 ./Button/Button.vue)
modulesFiles.keys().map((modulePath, index) => {
3.把 ./Button/Button.vue 变成 Button/Button-》作用是去掉 ./ 和 .vueconst moduleNames = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1');
4.分割路径,比如 Button/Button → ['Button', 'Button']-》拿到 moduleName = 'Button'【核心判断:组件路径和文件名要一致,才会注册】const moduleSplit = moduleNames.split('/');const moduleName = moduleSplit[0];if (moduleSplit.length === 2 && moduleName === moduleSplit[1]) {
5.导入该 Vue 组件模块=》取出 default 导出的组件对象-》注册为 全局组件,使用方式:<Button />const value = modulesFiles(modulePath);let moduleItem = value.default;Vue.component(moduleName, moduleItem);}

http://www.dtcms.com/a/319790.html

相关文章:

  • 二分查找算法,并分析其时间、空间复杂度
  • IIS7.5下的https无法绑定主机头,显示灰色如何处理?
  • [ java SE ] 多人聊天窗口1.0
  • 强光干扰下裂缝漏检率↓82%!陌讯轻量化模型在道路巡检的落地实践
  • 2深度学习Pytorch-自动微分--梯度计算、梯度上下文控制(累计梯度、梯度清零)
  • Ethereum: 像Uniswap V3贡献者一样开发,克隆、编译与测试v3-core
  • 通过减少回表和增加冗余字段,优化SQL查询效率
  • LSTM 单变量时序预测—pytorch
  • vscode+latex本地英文期刊环境配置
  • VScode使用jupyter notebook,配置内核报错没有torch解决
  • 如何委托第三方检测机构做软件测试?
  • 鸿蒙 - 分享功能
  • 直播预告|鸿蒙生态下的 Flutter 开发实战
  • 非化学冷却塔水处理解决方案:绿色工业时代的革新引擎
  • Elasticsearch 文档分词器
  • 神经网络入门指南:从零理解 PyTorch 的核心思想
  • 2025 五大商旅平台管控力解析:合规要求下的商旅管理新范式
  • Flutter 布局控件使用详解
  • 【java基础|第十六篇】面向对象(六)——抽象和接口
  • Java-JVM探析
  • 参考平面与返回电流
  • BMS保护板测试仪:电池安全管理的“质检卫士”|深圳鑫达能
  • Java爬虫性能优化:多线程抓取JSP动态数据实践
  • 键盘+系统+软件等快捷键大全
  • RK3568笔记九十八:使用Qt实现RTMP拉流显示
  • FluentUI-main的详解
  • MyBatis联合查询
  • windows有一个企业微信安装包,脚本执行并安装到d盘。
  • 我的世界Java版1.21.4的Fabric模组开发教程(十七)自定义维度
  • PCL提取平面上的圆形凸台特征