main.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import './styles/tailwindbase.css';
  2. import 'element-plus/dist/index.css';
  3. import './styles/index.scss';
  4. import 'element-plus/theme-chalk/display.css';
  5. import 'element-plus/theme-chalk/dark/css-vars.css';
  6. import 'nprogress/nprogress.css';
  7. import './main.css';
  8. import VueKonva from 'vue-konva';
  9. import { createApp } from 'vue';
  10. import App from './App.vue';
  11. // import VueKonva from 'vue-konva';
  12. import router, { setupRouter } from './router';
  13. import { setupStore } from '@/store';
  14. import 'virtual:svg-icons-register';
  15. import { setupElement, setupDirectives, setupCustomComponents } from '@/plugins';
  16. // import VueKonva from 'vue-konva';
  17. async function bootstrap() {
  18. const app = createApp(App);
  19. app.use(VueKonva);
  20. // 全局完整引入 element 组件
  21. setupElement(app);
  22. // 注册全局自定义组件
  23. setupCustomComponents(app);
  24. // 注册全局自定义指令,如:v-permission权限指令
  25. setupDirectives(app);
  26. // 注册全局方法,如:app.config.globalProperties.$message = message
  27. //setupGlobalMethods(app);
  28. // 挂载状态管理
  29. setupStore(app);
  30. //优先挂载一下 Provider 解决路由守卫,Axios中可使用,Dialog,Message 等之类组件
  31. // appProvider.mount('#appProvider', true);
  32. // 挂载路由
  33. await setupRouter(app);
  34. // 路由准备就绪后挂载APP实例
  35. await router.isReady();
  36. app.use(VueKonva);
  37. app.mount('#app', true);
  38. }
  39. void bootstrap();