vue3 自定义插件注册的妙用:一次性注册所有全局组件

在项目的开发过程中,我们经常会注册很多公共的组件,以增强代码的可维护性,减少开发工作量。但是如果我们一个个去注册的话,就会在入口处写很多代码,这时我们就可以考虑使用 自定义插件 的方法一次性把所有的组件全部注册。具体方法如下:

(1)在src/components 下新建一个 index.ts,引入所有全局组件

ts 复制代码
import SvgIcon from './SvgIcon/index.vue';
import type { App, Component } from 'vue';

//全局对象
const allGloablComponent: any = { SvgIcon, Pagination }

//对外暴露插件对象
export default {
    install(app: App) {
    	//注册项目全部的全局组件
        Object.keys(allGloablComponent).forEach((key: string) => {
        	//注册为全局组件
            app.component(key, components[key]);
        })
    }
}

(2)在入口文件 main.ts 中安装自定义插件

ts 复制代码
//引入自定义插件对象:注册整个项目全局组件
import gloalComponent from '@/components';
app.use(gloalComponent)

(3)最后就是在你想用的任何地方随意使用组件啦,再也不用一次次的引入啦

相关推荐
cyadyx39 分钟前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell2 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝9 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_9 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
用户938515635079 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
java1234_小锋11 小时前
Vue3专题 - 组件基础
vue.js·vite
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端