main.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // with polyfills
  2. import 'core-js/stable';
  3. import 'regenerator-runtime/runtime';
  4. import { createApp } from 'vue';
  5. import VueTour from 'v3-tour';
  6. // @ts-ignore
  7. import App from './App.vue';
  8. import { setupRouter } from './router';
  9. import { setupStore } from '@/store';
  10. import { setupI18n } from '@/locales';
  11. import { setupAntd, setupAssets, setupGlobalMethods, setupCustomComponents } from '@/plugins';
  12. // import 'ant-design-vue/dist/antd.css';
  13. import "./styles/variables.less"
  14. if (process.env.NODE_ENV === 'production') {
  15. const { mockXHR } = require('./mock');
  16. mockXHR();
  17. }
  18. const app = createApp(App);
  19. function setupPlugins() {
  20. // 注册全局常用的ant-design-vue组件
  21. setupAntd(app);
  22. // 引入静态资源
  23. setupAssets();
  24. // 注册全局自定义组件,如:<svg-icon />
  25. setupCustomComponents(app);
  26. // 注册全局方法,如:app.config.globalProperties.$message = message
  27. setupGlobalMethods(app);
  28. }
  29. async function setupApp() {
  30. // 挂载vuex状态管理
  31. setupStore(app);
  32. // Multilingual configuration
  33. // Asynchronous case: language files may be obtained from the server side
  34. await setupI18n(app);
  35. // 挂载路由
  36. await setupRouter(app);
  37. app.use(VueTour);
  38. app.mount('#app');
  39. }
  40. setupPlugins();
  41. setupApp();