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';
|
2021-09-09 12:00:18 +08:00
|
|
|
|
import { setupRouter } from './router';
|
2021-11-14 22:16:44 +08:00
|
|
|
|
import { setupAssets, setupWindicssDarkMode } from './plugins';
|
|
|
|
|
|
|
|
|
|
function setupPlugins() {
|
|
|
|
|
/** 引入静态资源 */
|
|
|
|
|
setupAssets();
|
|
|
|
|
// 配置windicss暗黑主题
|
|
|
|
|
setupWindicssDarkMode();
|
|
|
|
|
}
|
2021-05-29 03:02:15 +08:00
|
|
|
|
|
2021-08-18 12:02:59 +08:00
|
|
|
|
async function setupApp() {
|
2021-09-01 17:43:25 +08:00
|
|
|
|
const appProvider = createApp(AppProvider);
|
2021-08-18 12:02:59 +08:00
|
|
|
|
const app = createApp(App);
|
|
|
|
|
|
2021-09-01 17:43:25 +08:00
|
|
|
|
// 挂载全局状态
|
2021-08-18 12:02:59 +08:00
|
|
|
|
setupStore(app);
|
|
|
|
|
|
2021-09-01 17:43:25 +08:00
|
|
|
|
// 优先挂载一下 appProvider 解决路由守卫,Axios中可使用,LoadingBar,Dialog,Message 等之类组件
|
|
|
|
|
appProvider.mount('#appProvider', true);
|
2021-08-13 14:22:35 +08:00
|
|
|
|
|
2021-08-18 12:02:59 +08:00
|
|
|
|
// 挂载路由
|
2021-09-09 12:00:18 +08:00
|
|
|
|
await setupRouter(app);
|
2021-08-18 12:02:59 +08:00
|
|
|
|
|
|
|
|
|
// 路由准备就绪后挂载APP实例
|
|
|
|
|
app.mount('#app', true);
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-14 22:16:44 +08:00
|
|
|
|
setupPlugins();
|
2021-08-18 12:02:59 +08:00
|
|
|
|
setupApp();
|