| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { createApp } from 'vue'
- import App from './App.vue'
- import router, { setupRouter } from '@/router'
- import i18n from '@/i18n/index'
- import { setupStore } from '@/store'
- import { setupNaive, setupDirectives, setupCustomComponents } from '@/plugins'
- import { GoAppProvider } from '@/components/GoAppProvider/index'
- import { setHtmlTheme } from '@/utils'
- // 引入全局样式
- import '@/styles/pages/index.scss'
- // 引入动画
- import 'animate.css/animate.min.css'
- // 引入标尺
- import 'vue3-sketch-ruler/lib/style.css'
- async function appInit() {
- const goAppProvider = createApp(GoAppProvider)
- const app = createApp(App)
- // 注册全局常用的 naive-ui 组件
- setupNaive(app)
- // 注册全局自定义指令
- setupDirectives(app)
- // 注册全局自定义组件
- setupCustomComponents(app)
- // 挂载状态管理
- setupStore(app)
- // 解决路由守卫,Axios中可使用,Dialog,Message 等全局组件
- goAppProvider.mount('#appProvider', true)
- // 挂载路由
- setupRouter(app)
- // 路由准备就绪后挂载APP实例
- await router.isReady()
- // Store 准备就绪后处理主题色
- setHtmlTheme()
- // 语言注册
- app.use(i18n)
- // 挂载到页面
- app.mount('#app', true)
- // 挂载到 window
- window['$vue'] = app
- }
- void appInit()
|