| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { createApp } from 'vue';
- import router, { setupRouter } from './router';
- import { setupStore } from '@/store';
- import './main.scss';
- import 'element-plus/dist/index.css';
- import App from './App.vue';
- import BreadcrumbBack from '@/components/BreadcrumbBack.vue';
- import { setupElement, setupDirectives, setupWangEditorUpload } from '@/plugins';
- import dayjs from 'dayjs';
- import 'dayjs/locale/zh-cn';
- import '@/utils/g6Extensions';
- import 'notivue/animations.css'; // Only needed if using built-in animations
- import { notivue } from '@/components/custom-notivue/notivue-conf';
- import 'virtual:svg-icons-register';
- dayjs.locale('zh-cn');
- setupWangEditorUpload();
- async function bootstrap() {
- const app = createApp(App);
-
- app.use(notivue);
-
- // 全局完整引入 element 组件
- setupElement(app);
- app.component('BreadcrumbBack', BreadcrumbBack); //全局注册面包屑返回按钮
- // 注册全局自定义指令,如:v-permission权限指令
- setupDirectives(app);
- // 挂载状态管理
- setupStore(app);
- //优先挂载一下 Provider 解决路由守卫,Axios中可使用,Dialog,Message 等之类组件
- // appProvider.mount('#appProvider', true);
- // 挂载路由
- await setupRouter(app);
- // 路由准备就绪后挂载APP实例
- await router.isReady();
- app.mount('#app', true);
- }
- void bootstrap();
|