main.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'virtual:windi-base.css';
  2. import 'virtual:windi-components.css';
  3. import '/@/design/index.less';
  4. import 'virtual:windi-utilities.css';
  5. // Register icon sprite
  6. import 'virtual:svg-icons-register';
  7. import App from './App.vue';
  8. import { createApp } from 'vue';
  9. import { initAppConfigStore } from '/@/logics/initAppConfig';
  10. import { setupErrorHandle } from '/@/logics/error-handle';
  11. import { router, setupRouter } from '/@/router';
  12. import { setupRouterGuard } from '/@/router/guard';
  13. import { setupStore } from '/@/store';
  14. import { setupGlobDirectives } from '/@/directives';
  15. import { setupI18n } from '/@/locales/setupI18n';
  16. import { registerGlobComp } from '/@/components/registerGlobComp';
  17. async function bootstrap() {
  18. const app = createApp(App);
  19. // Configure store
  20. setupStore(app);
  21. // Initialize internal system configuration
  22. initAppConfigStore();
  23. // Register global components
  24. registerGlobComp(app);
  25. // Multilingual configuration
  26. // Asynchronous case: language files may be obtained from the server side
  27. await setupI18n(app);
  28. // Configure routing
  29. setupRouter(app);
  30. // router-guard
  31. setupRouterGuard(router);
  32. // Register global directive
  33. setupGlobDirectives(app);
  34. // Configure global error handling
  35. setupErrorHandle(app);
  36. // https://next.router.vuejs.org/api/#isready
  37. // await router.isReady();
  38. app.mount('#app');
  39. }
  40. bootstrap();