main.ts 715 B

123456789101112131415161718192021222324
  1. import { createApp } from 'vue'
  2. import { createPinia } from 'pinia'
  3. import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
  4. import App from '@/App.vue'
  5. import naive from '@/assets/native-plugin'
  6. import Icon from '@/components/icon.vue'
  7. import 'virtual:svg-icons-register'
  8. const store = createPinia()
  9. // 动态路由
  10. const routes = Object.values(import.meta.glob('./pages/*/route.ts', { eager: true, import: 'default' })) as unknown as RouteRecordRaw[]
  11. routes.push({ path: '/:path(.*)', redirect: '/' })
  12. const app = createApp(App)
  13. const router = createRouter({
  14. history: createWebHistory(),
  15. routes
  16. })
  17. app.component('Icon', Icon)
  18. app.use(store)
  19. .use(naive)
  20. .use(router)
  21. .mount('#app')