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)最后就是在你想用的任何地方随意使用组件啦,再也不用一次次的引入啦

相关推荐
jt君424267 分钟前
React Native JSI 深入剖析 — 第 5 部分中文技术整理:用 HostObject 把 C++ 类暴露给 JavaScript
前端·react native
胡萝卜术8 分钟前
滑动窗口最大值:从暴力到单调队列,层层优化全解析
前端·javascript·面试
fluffyox11 分钟前
Notion 的公式栏里,藏着一台虚拟机——逆向 + 用 600 行 JS 复刻它的编译器与栈式 VM
前端
kyriewen1 小时前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
铁皮饭盒2 小时前
bun直接tsx,优雅!
javascript·后端
Csvn4 小时前
Monorepo 迁移血泪史:从 Multi-Repo 到 Turborepo,这 3 个坑我帮你踩完了
前端
星栈4 小时前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架
用户987409238874 小时前
用 Remotion + edge-tts 打造中文教学视频全自动流水线
前端
风骏时光牛马4 小时前
Less前端工程化实战:变量混合器与项目样式分层落地
前端
假如让我当三天老蒯4 小时前
Options API(选项式 API) 和 Composition API(组合式 API)
前端·vue.js·面试