main.ts 776 B

123456789101112131415161718192021222324252627282930
  1. import { createApp, type DefineComponent } from 'vue'
  2. import request from '@/request'
  3. import 'ant-design-vue/dist/reset.css'
  4. import '@/styles/index.css'
  5. import App from './App.vue'
  6. import router from './router'
  7. import pinia from '@/stores/index'
  8. const app = createApp(App)
  9. app.config.globalProperties.$http = request
  10. app.use(pinia)
  11. app.use(router)
  12. const components = import.meta.glob('./components/**/*.vue', { eager: true })
  13. Object.entries(components).forEach(([path, module]) => {
  14. const componentName =
  15. (module as { default: DefineComponent }).default?.name ||
  16. path
  17. .split('/')
  18. .pop()
  19. ?.replace(/\.\w+$/, '')
  20. if (componentName) {
  21. app.component(componentName, (module as { default: DefineComponent }).default)
  22. }
  23. })
  24. app.mount('#app')