main.ts 857 B

1234567891011121314151617181920212223242526272829303132
  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. import disabled from '@/directives/disabled'
  9. const app = createApp(App)
  10. app.config.globalProperties.$http = request
  11. app.use(pinia)
  12. app.use(router)
  13. app.directive('disabled', disabled)
  14. const components = import.meta.glob('./components/**/*.vue', { eager: true })
  15. Object.entries(components).forEach(([path, module]) => {
  16. const componentName =
  17. (module as { default: DefineComponent }).default?.name ||
  18. path
  19. .split('/')
  20. .pop()
  21. ?.replace(/\.\w+$/, '')
  22. if (componentName) {
  23. app.component(componentName, (module as { default: DefineComponent }).default)
  24. }
  25. })
  26. app.mount('#app')