Files
pqs-9100_client/frontend/src/main.ts

70 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-08-22 11:27:06 +08:00
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
2024-10-11 08:49:31 +08:00
import router from "@/routers";
2024-08-22 11:27:06 +08:00
// vue i18n
import I18n from "@/languages/index";
// pinia store
import pinia from "@/stores";
// errorHandler
import errorHandler from "@/utils/errorHandler";
2024-10-09 20:37:03 +08:00
import registerGlobComp from '@/components'
2024-10-16 15:33:14 +08:00
2024-08-22 11:27:06 +08:00
const app = createApp(App);
2024-10-16 15:33:14 +08:00
// 自定义警告处理程序,忽略所有警告
if (import.meta.env.VUE_APP_SILENCE_WARNINGS === true) {
app.config.warnHandler = () => {};
}
2024-08-22 11:27:06 +08:00
app.config.errorHandler = errorHandler;
// register the element Icons component
Object.keys(Icons).forEach(key => {
app.component(key, Icons[key as keyof typeof Icons]);
});
2024-10-09 20:37:03 +08:00
const setupAll = async () => {
app
.use(ElementPlus)
.use(directives)
2024-10-11 08:49:31 +08:00
.use(router) // 使用路由
2024-10-09 20:37:03 +08:00
.use(I18n)
.use(pinia)
.use(registerGlobComp) // 使用全局自定义组件
//待路由初始化完毕后挂载app
2024-10-11 08:49:31 +08:00
await router.isReady()
2024-10-09 20:37:03 +08:00
}
//挂载app
setupAll().then(() => {
app.mount('#app')
})