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 "@/assets/iconsvg/iconfont.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"; import "element-plus/dist/index.css"; import "dayjs/locale/zh-cn"; import locale from "element-plus/es/locale/lang/zh-cn"; // 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 * as echarts from "echarts"; import VueCookies from "vue-cookies"; const app = createApp(App); app.config.errorHandler = errorHandler; app.config.globalProperties.$echarts = echarts; // register the element Icons component Object.keys(Icons).forEach(key => { app.component(key, Icons[key as keyof typeof Icons]); }); app.use(ElementPlus, { locale }).use(directives).use(router).use(I18n).use(pinia).use(VueCookies).mount("#app");