1.单文件global注册自定义组件的封装
import A from "../view/A.vue";
import B from "../view/B.vue";
const components = { A, B };
export default {
install(Vue) {
for (let k in components) {
Vue.component(k, components[k]);
}
},
};
在main.js中引入使用
import LocalComponents from "./global";
createApp(App).use(LocalComponents).mount("#app");
2.按需引入注册UI组件的封装 (比如elementPlus的组件以及图标)
(1)单文件register-element.ts (组件库)
import { App } from 'vue'
import 'element-plus/theme-chalk/base.css'
import 'element-plus/theme-chalk/index.css'
import {
ElForm,
} from 'element-plus'
const components = [ElForm]
export default function (app: App): void {
for (const component of components) {
app.component(component.name, component)
}
}
(2)单文件register.elementIcon.ts (图标库)
import { App } from 'vue'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
export default function (app: App) {
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}
}
(3)文件抽离,在index.ts中全部注册函数
import { App } from 'vue'
import registerElement from './register-element'
import registerElementIcon from './register-elementIcon'
export function globalRegister(app: App): void {
registerElement(app)
registerElementIcon(app)
}
(4)最后在main.js中局部引入-- 封装后的element-plus
import { globalRegister } from "./global";
createApp(App).use(globalRegister).mount("#app");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?