main.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. })