vite.config.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import path from 'path'
  4. import UnoCss from 'unocss/vite'
  5. import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import Components from 'unplugin-vue-components/vite'
  8. import IconsResolver from 'unplugin-icons/resolver'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. // https://vite.dev/config/
  11. export default defineConfig({
  12. server: {
  13. hmr: true
  14. },
  15. plugins: [
  16. vue(),
  17. UnoCss(),
  18. createSvgIconsPlugin({
  19. // 指定存放 SVG 的文件夹
  20. iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
  21. symbolId: 'svg-icon-[dir]-[name]'
  22. }),
  23. // 按需求加载(模板)
  24. AutoImport({
  25. imports: ['vue'],
  26. resolvers: [
  27. IconsResolver({
  28. prefix: 'Icon'
  29. }),
  30. ElementPlusResolver()
  31. ],
  32. dts: 'auto-imports.d.ts'
  33. }),
  34. Components({
  35. resolvers: [
  36. // 自动注册图标组件
  37. IconsResolver({
  38. enabledCollections: ['ep']
  39. }),
  40. ElementPlusResolver()
  41. ],
  42. dts: 'components.d.ts'
  43. })
  44. ],
  45. resolve: {
  46. alias: {
  47. '@': path.resolve(__dirname, 'src')
  48. }
  49. }
  50. })