1、直接在main.ts中
import type { App } from "vue";
import { IconButton } from "./Button";//引用自定义组件
import Antd from "ant-design-vue";//引用Ant组件库
app.use(IconButton);//全局挂载自定义组件
app.use(Antd);//全局挂载Ant组件库
2、高级写法
(1)在组件文件夹components中创建一个registerGlobComp.ts文件
下面是registerGlobComp.ts的代码:
import type { App } from "vue";
import { IconButton } from "./Button";//引用自定义组件
import Antd from "ant-design-vue";//引用Ant组件库
/** 初始化全局组件 */
export function registerGlobComp(app: App) {
app.use(IconButton);//全局挂载自定义组件
app.use(Antd);//全局挂载Ant组件库
}
(2)再到main.ts文件中
import "virtual:windi-base.css";
import "virtual:windi-components.css";
import "/@/design/index.less";
import "virtual:windi-utilities.css";
import "ant-design-vue/dist/antd.less";
import App from "./App.vue";
import { createApp } from "vue";
import { setupStore } from "/@/store";
import { initAppConfigStore } from "/@/logics/initAppConfig";
import { registerGlobComp } from "/@/components/registerGlobComp"; //引用registerGlobComp.ts文件中的registerGlobComp方法
import { router, setupRouter } from "/@/router";
import { setupRouterGuard } from "/@/router/guard";
import { setupGlobDirectives } from "/@/directives";
import { initSiteConfigStore } from "/@/logics/initSiteConfigStore";
async function bootstrap() {
const app = createApp(App);
// 初始化数据仓库
setupStore(app);
// 初始化项目配置
initAppConfigStore();
// 初始化全局组件
registerGlobComp(app);//将app环境变量传入registerGlobComp方法中进行挂载操作
// 初始化路由
setupRouter(app);
// 初始化路由拦截器
setupRouterGuard(router);
// 初始化全局指令
setupGlobDirectives(app);
// 初始化站点信息配置
initSiteConfigStore();
app.mount("#app");
}
bootstrap();