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

基于webpack+Vue3+JavaScript+antd+less+axios技术栈实现所有组件全局自动化注册

一、前言

最近在做一个项目,因为项目比较小,用户群体年龄跨度较大,同时对兼容性的要求较高,所以选择webpack+Vue3+JavaScript+antd+less+axios的技术栈,在开发的当中发现一个问题,原来在vue2当中,可以很简单就能实现的组件的全局自动化注册,在当前这套技术栈组合中不能使用,网上的教程大多都是偏向于typescript的,所以决定自己写一个。

二、实现方案

1、新建registerComponents.js文件

const requireComponent = require.context('@/',true,/\.vue$/
);export default {install(app) {requireComponent.keys().forEach((fileName) => {// 去掉路径和扩展名,获取组件名const componentName = fileName.replace(/(\.\/|\.vue)/g, '').replace(new RegExp('/', 'g'), "");const defaultObj = requireComponent(fileName).default;app.component(componentName, defaultObj)console.log(componentName,defaultObj);});}
}

2、main.js文件引入registerComponents.js文件,并实现组件全局自动化注册

import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);
//全局组件自动注册
import registerAllComponents from './utils/registerComponents'
app.use(registerAllComponents).mount('#app')

自此就实现基于webpack+Vue3+JavaScript+antd+less+axios技术栈的组件全局自动化注册。

如觉的写的不错,欢迎评论讨论,本文为原创,如需转载请标明出处;

相关文章:

  • [JDK工具-5] jinfo jvm配置信息工具
  • 自从有了可观测性,传统运维如何进行提升?
  • Flutter 中的 ClipRect 小部件:全面指南
  • springBoot项目中的static和templates文件夹
  • SQL约束
  • docker命令详解大全
  • JVM学习-Class文件结构②
  • AGI系列(1):掌握AI大模型提示词优化术,提问准确率飙升秘籍
  • 2024最新 Jenkins + Docker实战教程(一) - Jenkins介绍及安装
  • Android 多语言
  • 揭秘C++ String容器:字符串操作的艺术
  • php正则中的i,m,s,x,e分别表示什么
  • 大数据信用报告查询有哪些作用?哪个平台更好?
  • Go微服务: Nacos的搭建和基础API的使用
  • 云计算-使用Java访问S3 (Accessing S3 using Java)
  • Google 是如何开发 Web 框架的
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Android 控件背景颜色处理
  • Golang-长连接-状态推送
  • HTTP中的ETag在移动客户端的应用
  • IP路由与转发
  • javascript 哈希表
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MySQL几个简单SQL的优化
  • Python3爬取英雄联盟英雄皮肤大图
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 复杂数据处理
  • 给第三方使用接口的 URL 签名实现
  • 猴子数据域名防封接口降低小说被封的风险
  • 解决iview多表头动态更改列元素发生的错误
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 开源SQL-on-Hadoop系统一览
  • 前端之Sass/Scss实战笔记
  • 我感觉这是史上最牛的防sql注入方法类
  • 详解NodeJs流之一
  • 携程小程序初体验
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 7行Python代码的人脸识别
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #微信小程序:微信小程序常见的配置传旨
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (WSI分类)WSI分类文献小综述 2024
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (十六)串口UART
  • (四)事件系统
  • (算法)区间调度问题
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (转)Windows2003安全设置/维护
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • 、写入Shellcode到注册表上线
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .net mvc 获取url中controller和action
  • @DataRedisTest测试redis从未如此丝滑