import { createApp } from "vue"; import App from "./App.vue"; import router, { setupRouter } from "@/router"; import { i18n } from "@/i18n"; import { setupStore } from "@/store"; import ArcoVue from "@arco-design/web-vue"; import "@arco-design/web-vue/dist/arco.less"; /* 其他模块引入 */ import "virtual:svg-icons-register"; // 引入 Symbol icon图标 import "@/assets/iconsvg/iconfont"; import SvgIcon from "@/components/Svg-icon/SvgIcon.vue"; // 额外引入图标库 import ArcoVueIcon from "@arco-design/web-vue/es/icon"; // 引入上传组件 import upload from "./components/upload/index.vue"; async function appInit() { const app = createApp(App); // 注入组件 app.component("SvgIcon", SvgIcon); // 挂载状态管理 await setupStore(app); // arco-design app.use(ArcoVue); app.use(ArcoVueIcon); app.use(i18n); app.component("upload", upload); window["$t"] = i18n.global.t; app.config.warnHandler = () => null; // 挂载路由 await setupRouter(app); // 路由准备就绪后挂载APP实例 await router.isReady(); // 挂载到页面 app.mount("#app", true); // 挂载到 window window["$vue"] = app; } appInit().then(() => { // 捕获全局错误 // window.addEventListener("unhandledrejection", event => { // console.warn(`UNHANDLED PROMISE REJECTION: ${event.reason}`); // }); });