2021-02-17 22:07:22 +08:00
|
|
|
import '/@/design/index.less';
|
2021-06-20 21:36:52 +08:00
|
|
|
import '/@/design/tailwind.css';
|
2021-06-01 23:21:04 +08:00
|
|
|
// Register icon sprite
|
|
|
|
import 'virtual:svg-icons-register';
|
2020-11-26 21:19:39 +08:00
|
|
|
import App from './App.vue';
|
2021-06-07 21:30:27 +08:00
|
|
|
import { createApp } from 'vue';
|
2021-04-12 23:00:35 +08:00
|
|
|
import { initAppConfigStore } from '/@/logics/initAppConfig';
|
2021-06-01 23:21:04 +08:00
|
|
|
import { setupErrorHandle } from '/@/logics/error-handle';
|
2021-06-07 21:30:27 +08:00
|
|
|
import { router, setupRouter } from '/@/router';
|
2021-04-10 19:25:49 +08:00
|
|
|
import { setupRouterGuard } from '/@/router/guard';
|
2020-09-28 20:19:10 +08:00
|
|
|
import { setupStore } from '/@/store';
|
2020-12-21 22:34:07 +08:00
|
|
|
import { setupGlobDirectives } from '/@/directives';
|
2021-01-09 23:28:52 +08:00
|
|
|
import { setupI18n } from '/@/locales/setupI18n';
|
|
|
|
import { registerGlobComp } from '/@/components/registerGlobComp';
|
2020-10-15 21:12:38 +08:00
|
|
|
|
2021-05-27 22:59:41 +08:00
|
|
|
// Do not introduce on-demand in local development?
|
|
|
|
// In the local development for introduce on-demand, the number of browser requests will increase by about 20%.
|
2021-04-01 22:34:31 +08:00
|
|
|
// Which may slow down the browser refresh.
|
|
|
|
// Therefore, all are introduced in local development, and only introduced on demand in the production environment
|
|
|
|
if (import.meta.env.DEV) {
|
|
|
|
import('ant-design-vue/dist/antd.less');
|
|
|
|
}
|
|
|
|
|
2021-06-01 21:30:56 +08:00
|
|
|
async function bootstrap() {
|
2021-02-27 23:08:12 +08:00
|
|
|
const app = createApp(App);
|
2021-04-10 19:25:49 +08:00
|
|
|
|
2021-05-25 22:35:32 +08:00
|
|
|
// Configure store
|
2021-04-10 19:25:49 +08:00
|
|
|
setupStore(app);
|
|
|
|
|
2021-04-13 21:43:10 +08:00
|
|
|
// Initialize internal system configuration
|
2021-04-12 23:00:35 +08:00
|
|
|
initAppConfigStore();
|
|
|
|
|
2021-02-27 23:08:12 +08:00
|
|
|
// Register global components
|
|
|
|
registerGlobComp(app);
|
2021-01-09 23:28:52 +08:00
|
|
|
|
2021-03-23 00:21:09 +08:00
|
|
|
// Multilingual configuration
|
|
|
|
await setupI18n(app);
|
|
|
|
|
2021-02-27 23:08:12 +08:00
|
|
|
// Configure routing
|
|
|
|
setupRouter(app);
|
2021-01-23 21:10:00 +08:00
|
|
|
|
2021-04-10 19:25:49 +08:00
|
|
|
// router-guard
|
2021-06-27 14:11:04 +08:00
|
|
|
setupRouterGuard(router);
|
2020-11-18 22:41:59 +08:00
|
|
|
|
2021-02-27 23:08:12 +08:00
|
|
|
// Register global directive
|
|
|
|
setupGlobDirectives(app);
|
2020-09-28 20:19:10 +08:00
|
|
|
|
2021-02-27 23:08:12 +08:00
|
|
|
// Configure global error handling
|
|
|
|
setupErrorHandle(app);
|
2020-09-28 20:19:10 +08:00
|
|
|
|
2021-03-07 20:59:11 +08:00
|
|
|
// Mount when the route is ready
|
2021-03-26 21:16:08 +08:00
|
|
|
// https://next.router.vuejs.org/api/#isready
|
2021-03-23 00:21:09 +08:00
|
|
|
await router.isReady();
|
2020-10-18 21:55:21 +08:00
|
|
|
|
2020-12-22 22:13:03 +08:00
|
|
|
app.mount('#app', true);
|
2021-06-01 21:30:56 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void bootstrap();
|