import { createApp } from 'vue'; import App from './App.vue'; import 'ant-design-vue/dist/antd.less'; import '@ant-design-vue/pro-layout/dist/style.less'; // pro-layout css import '@/styles/index.less'; import 'virtual:windi-base.css'; import 'virtual:windi-components.css'; import 'virtual:windi-utilities.css'; import ProLayout, { PageContainer } from '@ant-design-vue/pro-layout'; import router, { setupRouter } from './router'; import { setupStore } from '@/store'; import { setupAntd, setupDirectives, setupGlobalMethods, setupCustomComponents } from '@/plugins'; async function bootstrap() { const app = createApp(App); app.use(ProLayout).use(PageContainer); // 注册全局常用的 antdv 组件 setupAntd(app); // 注册全局自定义组件,如: setupCustomComponents(app); // 注册全局自定义指令,如:v-permission权限指令 setupDirectives(app); // 注册全局方法,如:app.config.globalProperties.$message = message setupGlobalMethods(app); // 挂载状态管理 setupStore(app); // 挂载路由 setupRouter(app); // 路由准备就绪后挂载APP实例 await router.isReady(); app.mount('#app', true); } bootstrap();