main.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. // reset style sheet
  4. import '@/styles/reset.scss'
  5. // CSS common style sheet
  6. import '@/styles/common.scss'
  7. // iconfont css
  8. import '@/assets/iconfont/iconfont.scss'
  9. // font css
  10. import '@/assets/fonts/font.scss'
  11. // element css
  12. import 'element-plus/dist/index.css'
  13. // element dark css
  14. import 'element-plus/theme-chalk/dark/css-vars.css'
  15. // custom element dark css
  16. import '@/styles/element-dark.scss'
  17. // custom element css
  18. import '@/styles/element.scss'
  19. // svg icons
  20. import 'virtual:svg-icons-register'
  21. // svg图标
  22. import ElementIcons from '@/plugins/svg-icon'
  23. // element plus
  24. import ElementPlus from 'element-plus'
  25. // custom directives
  26. import directives from '@/directives/index'
  27. // vue Router
  28. import router from '@/routers'
  29. // vue i18n
  30. import I18n from '@/languages/index'
  31. // pinia store
  32. import pinia from '@/stores'
  33. // errorHandler
  34. import errorHandler from '@/utils/errorHandler'
  35. import { useDict } from '@/utils/dict'
  36. const app = createApp(App)
  37. // 全局方法挂载
  38. app.config.globalProperties.useDict = useDict
  39. // 全局组件挂载
  40. // app.component('DictTag', DictTag)
  41. app.config.errorHandler = errorHandler
  42. // register the element Icons component
  43. // Object.keys(Icons).forEach(key => {
  44. // app.component(key, Icons[key as keyof typeof Icons])
  45. // })
  46. app.use(ElementPlus).use(ElementIcons).use(directives).use(router).use(I18n).use(pinia).mount('#app')