plugin.ts 1006 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import type { Plugin } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import vueJsx from '@vitejs/plugin-vue-jsx'
  4. import Components from 'unplugin-vue-components/vite';
  5. import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
  6. import AutoImport from 'unplugin-auto-import/vite';
  7. export function createVitePlugins(isBuild: boolean): Plugin[] {
  8. return [
  9. vue(),
  10. vueJsx(),
  11. Components({
  12. dirs: ['src/components'],
  13. extensions: ['vue'],
  14. deep: true,
  15. resolvers: [AntDesignVueResolver({
  16. // 用于less变更主题用
  17. importStyle: 'less',
  18. /**
  19. * resolve `ant-design-vue' icons
  20. * requires package `@ant-design/icons-vue`
  21. */
  22. resolveIcons: true
  23. })],
  24. dts: 'src/components.d.ts'
  25. }),
  26. AutoImport({
  27. imports: [
  28. 'vue',
  29. 'vue-router',
  30. {
  31. '@vueuse/core': ['useLocalStorage', 'useClipboard']
  32. }
  33. ],
  34. dts: 'src/auto-imports.d.ts'
  35. })
  36. ]
  37. }