import { createApp } from "vue"; import App from "./App.vue"; // reset style sheet import "@/styles/reset.scss"; // CSS common style sheet import "@/styles/common.scss"; // iconfont css import "@/assets/iconfont/iconfont.scss"; // font css import "@/assets/fonts/font.scss"; // element css import "element-plus/dist/index.css"; // element dark css import "element-plus/theme-chalk/dark/css-vars.css"; // custom element dark css import "@/styles/element-dark.scss"; // custom element css import "@/styles/element.scss"; // svg icons import "virtual:svg-icons-register"; // element plus import ElementPlus from "element-plus"; // element icons import * as Icons from "@element-plus/icons-vue"; // custom directives import directives from "@/directives/index"; // vue Router import router from "@/routers"; // vue i18n import I18n from "@/languages/index"; // pinia store import pinia from "@/stores"; // errorHandler import errorHandler from "@/utils/errorHandler"; import registerGlobComp from '@/components' const app = createApp(App); // 自定义警告处理程序,忽略所有警告 if (import.meta.env.VUE_APP_SILENCE_WARNINGS === true) { app.config.warnHandler = () => {}; } app.config.errorHandler = errorHandler; // register the element Icons component Object.keys(Icons).forEach(key => { app.component(key, Icons[key as keyof typeof Icons]); }); const setupAll = async () => { app .use(ElementPlus) .use(directives) .use(router) // 使用路由 .use(I18n) .use(pinia) .use(registerGlobComp) // 使用全局自定义组件 //待路由初始化完毕后,挂载app await router.isReady() } //挂载app setupAll().then(() => { app.mount('#app') })