Files
vue3-element-admin/src/main.ts

63 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 应用启动入口
*
* @description
* Vue3 应用初始化,包括样式、插件、配置的加载
*/
import { createApp } from "vue";
import App from "./App.vue";
// ===== 样式导入 =====
import "element-plus/theme-chalk/dark/css-vars.css";
import "vxe-table/lib/style.css";
import "@/styles/index.scss";
import "uno.css";
import "animate.css";
// ===== 核心配置 =====
import { setupDirective } from "@/directives";
import { setupI18n } from "@/lang";
import { setupRouter } from "@/router";
import { setupStore } from "@/store";
// ===== 全局组件 =====
import { registerElementIcons } from "@/utils/register-components";
// ===== 第三方插件 =====
import VXETable from "vxe-table";
import { InstallCodeMirror } from "codemirror-editor-vue3";
import { configureVxeTable } from "@/config/vxe-table";
// ===== 路由守卫 =====
import { setupPermissionGuard } from "@/router/guards/permission";
// ===== 业务服务 =====
import { setupWebSocket } from "@/utils/websocket";
// 创建 Vue 应用实例
const app = createApp(App);
// 1⃣ 核心配置
setupDirective(app);
setupRouter(app);
setupStore(app);
setupI18n(app);
// 2⃣ 全局组件
registerElementIcons(app);
// 3⃣ 第三方插件
configureVxeTable();
app.use(VXETable);
app.use(InstallCodeMirror);
// 4⃣ 路由守卫
setupPermissionGuard();
// 5⃣ WebSocket 初始化
setupWebSocket();
// 6⃣ 挂载应用
app.mount("#app");