vite.config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. plugins: [
  13. vue(),
  14. UnoCss(),
  15. createSvgIconsPlugin({
  16. // 指定存放 SVG 的文件夹
  17. iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
  18. symbolId: 'svg-icon-[dir]-[name]'
  19. }),
  20. // 按需求加载(模板)
  21. AutoImport({
  22. imports: ['vue'],
  23. resolvers: [
  24. IconsResolver({
  25. prefix: 'Icon'
  26. }),
  27. ElementPlusResolver()
  28. ],
  29. dts: 'auto-imports.d.ts'
  30. }),
  31. Components({
  32. resolvers: [
  33. // 自动注册图标组件
  34. IconsResolver({
  35. enabledCollections: ['ep']
  36. }),
  37. ElementPlusResolver()
  38. ],
  39. dts: 'components.d.ts'
  40. })
  41. ],
  42. resolve: {
  43. alias: {
  44. '@': path.resolve(__dirname, 'src')
  45. }
  46. }
  47. })