main.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import '/@/design/index.less';
  2. import '@virtual/windi.css';
  3. import { createApp } from 'vue';
  4. import App from './App.vue';
  5. import router, { setupRouter } from '/@/router';
  6. import { setupStore } from '/@/store';
  7. import { setupErrorHandle } from '/@/logics/error-handle';
  8. import { setupGlobDirectives } from '/@/directives';
  9. import { setupI18n } from '/@/locales/setupI18n';
  10. import { registerGlobComp } from '/@/components/registerGlobComp';
  11. // router-guard
  12. import '/@/router/guard';
  13. // Register icon Sprite
  14. import 'vite-plugin-svg-icons/register';
  15. import { isDevMode } from '/@/utils/env';
  16. (async () => {
  17. const app = createApp(App);
  18. // Register global components
  19. registerGlobComp(app);
  20. // Multilingual configuration
  21. await setupI18n(app);
  22. // Configure routing
  23. setupRouter(app);
  24. // Configure vuex store
  25. setupStore(app);
  26. // Register global directive
  27. setupGlobDirectives(app);
  28. // Configure global error handling
  29. setupErrorHandle(app);
  30. // Mount when the route is ready
  31. await router.isReady();
  32. app.mount('#app', true);
  33. // The development environment takes effect
  34. if (isDevMode()) {
  35. // app.config.performance = true;
  36. window.__APP__ = app;
  37. }
  38. })();