| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import { createApp } from 'vue';
- import App from './App.vue';
- import router, { setupRouter } from '@/router';
- import { setupStore } from '@/store';
- import { setupNaive, setupDirectives } from '@/plugins';
- import { AppProvider } from '@/components/Application';
- import { setHtmlTheme } from '@/utils/style'
- async function appInit() {
- const appProvider = createApp(AppProvider);
- const app = createApp(App);
- // 注册全局常用的 naive-ui 组件
- setupNaive(app);
- // 注册全局自定义指令,如:v-permission权限指令
- setupDirectives(app);
- // 挂载状态管理
- setupStore(app);
- // 处理主题色
- setHtmlTheme()
- //优先挂载一下 Provider 解决路由守卫,Axios中可使用,Dialog,Message 等之类组件
- appProvider.mount('#appProvider', true);
- // 挂载路由
- await setupRouter(app);
- // 路由准备就绪后挂载APP实例
- await router.isReady();
- app.mount('#app', true);
- }
- void appInit();
|