main.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { createApp } from "vue";
  2. import App from "./App.vue";
  3. import router, { setupRouter } from "@/router";
  4. import { i18n } from "@/i18n";
  5. import { setupStore } from "@/store";
  6. import ArcoVue from "@arco-design/web-vue";
  7. import "@arco-design/web-vue/dist/arco.less";
  8. /* 其他模块引入 */
  9. import "virtual:svg-icons-register";
  10. // 引入 Symbol icon图标
  11. import "@/assets/iconsvg/iconfont";
  12. import SvgIcon from "@/components/Svg-icon/SvgIcon.vue";
  13. // 额外引入图标库
  14. import ArcoVueIcon from "@arco-design/web-vue/es/icon";
  15. // 引入上传组件
  16. import upload from "./components/upload/index.vue";
  17. async function appInit() {
  18. const app = createApp(App);
  19. // 注入组件
  20. app.component("SvgIcon", SvgIcon);
  21. // 挂载状态管理
  22. await setupStore(app);
  23. // arco-design
  24. app.use(ArcoVue);
  25. app.use(ArcoVueIcon);
  26. app.use(i18n);
  27. app.component("upload", upload);
  28. window["$t"] = i18n.global.t;
  29. app.config.warnHandler = () => null;
  30. // 挂载路由
  31. await setupRouter(app);
  32. // 路由准备就绪后挂载APP实例
  33. await router.isReady();
  34. // 挂载到页面
  35. app.mount("#app", true);
  36. // 挂载到 window
  37. window["$vue"] = app;
  38. }
  39. appInit().then(() => {
  40. // 捕获全局错误
  41. // window.addEventListener("unhandledrejection", event => {
  42. // console.warn(`UNHANDLED PROMISE REJECTION: ${event.reason}`);
  43. // });
  44. });