import { createApp, type Plugin } from "vue"; import { createPinia } from "pinia"; import errorHandler from "@utils/errorHandler"; import router from "./router"; import App from "./App.vue"; import ElementPlus from "element-plus"; import locale from "element-plus/es/locale/lang/zh-cn"; import i18n from "./i18n"; import "./permission"; import "./styles/index.css"; import "element-plus/dist/index.css"; import "element-plus/theme-chalk/dark/css-vars.css"; import Layout from "@components/Layout/index.vue"; const components: Plugin = (app) => { app.component("Layout", Layout); }; export function mountVueApp(): void { const app = createApp(App); const pinia = createPinia(); app.use(pinia); app.use(router); app.use(ElementPlus, { locale }); app.use(components); app.use(i18n); app.use(errorHandler); app.mount("#app"); }