main.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import '/@/design/index.less';
  2. import '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. import { isDevMode } from '/@/utils/env';
  12. (async () => {
  13. const app = createApp(App);
  14. // Register global components
  15. registerGlobComp(app);
  16. // Configure routing
  17. setupRouter(app);
  18. // Configure vuex store
  19. setupStore(app);
  20. // Register global directive
  21. setupGlobDirectives(app);
  22. // Configure global error handling
  23. setupErrorHandle(app);
  24. await Promise.all([
  25. // Multilingual configuration
  26. setupI18n(app),
  27. // Mount when the route is ready
  28. router.isReady(),
  29. ]);
  30. app.mount('#app', true);
  31. // The development environment takes effect
  32. if (isDevMode()) {
  33. app.config.performance = true;
  34. window.__APP__ = app;
  35. }
  36. })();