main.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. // Register icon Sprite
  12. // import 'vite-plugin-svg-icons/register';
  13. import { isDevMode } from '/@/utils/env';
  14. const app = createApp(App);
  15. registerGlobComp(app);
  16. // Multilingual configuration
  17. setupI18n(app);
  18. // Configure routing
  19. setupRouter(app);
  20. // Configure vuex store
  21. setupStore(app);
  22. // Register global directive
  23. setupGlobDirectives(app);
  24. // Configure global error handling
  25. setupErrorHandle(app);
  26. // Mount when the route is ready
  27. router.isReady().then(() => {
  28. app.mount('#app', true);
  29. });
  30. // The development environment takes effect
  31. if (isDevMode()) {
  32. app.config.performance = true;
  33. window.__APP__ = app;
  34. }