diff --git a/src/main.ts b/src/main.ts index cb9817f..65f617f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,10 +1,9 @@ // core import App from "@/App.vue" import { pinia } from "@/pinia" +import { installPlugins } from "@/plugins" import { router } from "@/router" import { createApp } from "vue" -// load -import { loadPlugins } from "@/plugins" // css import "uno.css" import "normalize.css" @@ -14,13 +13,16 @@ import "vxe-table/lib/style.css" import "vxe-table-plugin-element/dist/style.css" import "@@/assets/styles/index.scss" +// 创建应用实例 const app = createApp(App) -// 加载插件(全局组件、自定义指令等) -loadPlugins(app) +// 安装插件(全局组件、自定义指令等) +installPlugins(app) +// 安装 pinia 和 router app.use(pinia).use(router) +// router 准备就绪后挂载应用 router.isReady().then(() => { app.mount("#app") }) diff --git a/src/plugins/element-plus-icons.ts b/src/plugins/element-plus-icons.ts index 9b22128..8dd2ac0 100644 --- a/src/plugins/element-plus-icons.ts +++ b/src/plugins/element-plus-icons.ts @@ -1,7 +1,7 @@ import type { App } from "vue" import * as ElementPlusIconsVue from "@element-plus/icons-vue" -export function loadElementPlusIcons(app: App) { +export function installElementPlusIcons(app: App) { // 注册所有 Element Plus Icon for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) diff --git a/src/plugins/element-plus.ts b/src/plugins/element-plus.ts index 42a3fa8..cf43b9e 100644 --- a/src/plugins/element-plus.ts +++ b/src/plugins/element-plus.ts @@ -1,7 +1,7 @@ import type { App } from "vue" import ElementPlus from "element-plus" -export function loadElementPlus(app: App) { +export function installElementPlus(app: App) { // Element Plus 组件完整引入 app.use(ElementPlus) } diff --git a/src/plugins/index.ts b/src/plugins/index.ts index 353652d..00b920e 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -1,14 +1,14 @@ import type { App } from "vue" -import { loadElementPlus } from "./element-plus" -import { loadElementPlusIcons } from "./element-plus-icons" -import { loadPermissionDirective } from "./permission-directive" -import { loadSvgIcons } from "./svg-icons" -import { loadVxeTable } from "./vxe-table" +import { installElementPlus } from "./element-plus" +import { installElementPlusIcons } from "./element-plus-icons" +import { installPermissionDirective } from "./permission-directive" +import { installSvgIcons } from "./svg-icons" +import { installVxeTable } from "./vxe-table" -export function loadPlugins(app: App) { - loadElementPlus(app) - loadElementPlusIcons(app) - loadPermissionDirective(app) - loadSvgIcons(app) - loadVxeTable(app) +export function installPlugins(app: App) { + installElementPlus(app) + installElementPlusIcons(app) + installPermissionDirective(app) + installSvgIcons(app) + installVxeTable(app) } diff --git a/src/plugins/permission-directive.ts b/src/plugins/permission-directive.ts index 9419cc2..3a26079 100644 --- a/src/plugins/permission-directive.ts +++ b/src/plugins/permission-directive.ts @@ -20,6 +20,6 @@ const permission: Directive = { } } -export function loadPermissionDirective(app: App) { +export function installPermissionDirective(app: App) { app.directive("permission", permission) } diff --git a/src/plugins/svg-icons.ts b/src/plugins/svg-icons.ts index 635e165..b4d4e70 100644 --- a/src/plugins/svg-icons.ts +++ b/src/plugins/svg-icons.ts @@ -2,6 +2,6 @@ import type { App } from "vue" import SvgIcon from "@@/components/SvgIcon/index.vue" // Svg Component import "virtual:svg-icons-register" -export function loadSvgIcons(app: App) { +export function installSvgIcons(app: App) { app.component("SvgIcon", SvgIcon) } diff --git a/src/plugins/vxe-table.ts b/src/plugins/vxe-table.ts index 7bd82f9..42a25c9 100644 --- a/src/plugins/vxe-table.ts +++ b/src/plugins/vxe-table.ts @@ -58,7 +58,7 @@ VXETable.setConfig({ } }) -export function loadVxeTable(app: App) { +export function installVxeTable(app: App) { // Vxe Table 组件完整引入 app.use(VXETable) }