2021-05-28 00:32:34 +08:00
|
|
|
|
import { createApp } from 'vue';
|
|
|
|
|
import App from './App.vue';
|
2021-08-26 17:43:03 +08:00
|
|
|
|
import AppProvider from './AppProvider.vue';
|
2021-08-18 12:02:59 +08:00
|
|
|
|
import { setupStore } from './store';
|
|
|
|
|
import { router, setupRouter } from './router';
|
|
|
|
|
import { setupSmoothScroll, setupNaive } from './plugins';
|
2021-05-28 02:22:49 +08:00
|
|
|
|
import 'virtual:windi.css';
|
2021-05-29 03:02:15 +08:00
|
|
|
|
import './styles/css/global.css';
|
|
|
|
|
|
2021-08-18 12:02:59 +08:00
|
|
|
|
async function setupApp() {
|
2021-08-26 17:43:03 +08:00
|
|
|
|
const naiveApp = createApp(AppProvider);
|
2021-08-18 12:02:59 +08:00
|
|
|
|
const app = createApp(App);
|
|
|
|
|
|
|
|
|
|
/** 注册naive UI组件 */
|
|
|
|
|
setupNaive(app);
|
|
|
|
|
|
|
|
|
|
/** 挂载全局状态 */
|
|
|
|
|
setupStore(app);
|
|
|
|
|
|
2021-08-27 12:00:09 +08:00
|
|
|
|
// 优先挂载一下 naiveApp 解决路由守卫,Axios中可使用,LoadingBar,Dialog,Message 等之类组件
|
2021-08-18 12:02:59 +08:00
|
|
|
|
naiveApp.mount('#naiveApp', true);
|
2021-08-13 14:22:35 +08:00
|
|
|
|
|
2021-08-18 12:02:59 +08:00
|
|
|
|
// 挂载路由
|
2021-08-26 14:09:31 +08:00
|
|
|
|
await setupRouter(app);
|
2021-08-18 12:02:59 +08:00
|
|
|
|
|
|
|
|
|
// 路由准备就绪后挂载APP实例
|
|
|
|
|
await router.isReady();
|
|
|
|
|
|
|
|
|
|
app.mount('#app', true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setupSmoothScroll();
|
|
|
|
|
setupApp();
|