vite.config.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import vueJsx from '@vitejs/plugin-vue-jsx'
  5. import AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import Icons from 'unplugin-icons/vite'
  8. import IconsResolver from 'unplugin-icons/resolver'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. import Unocss from 'unocss/vite'
  11. // https://vitejs.dev/config/
  12. export default defineConfig({
  13. plugins: [
  14. vue(),
  15. vueJsx(),
  16. Unocss(),
  17. AutoImport({
  18. imports: ['vue', 'vue-router', 'pinia', '@vueuse/core'],
  19. resolvers: [
  20. ElementPlusResolver(),
  21. IconsResolver({
  22. prefix: 'Icon'
  23. })
  24. ],
  25. dts: 'src/auto-import.d.ts'
  26. }),
  27. Components({
  28. resolvers: [
  29. ElementPlusResolver(),
  30. IconsResolver({
  31. enabledCollections: ['ep'],
  32. })
  33. ],
  34. dirs: ['src/components'],
  35. extensions: ['vue'],
  36. dts: 'src/components.d.ts'
  37. }),
  38. Icons({
  39. autoInstall: true,
  40. }),
  41. ],
  42. resolve: {
  43. alias: {
  44. '@': fileURLToPath(new URL('./src', import.meta.url))
  45. }
  46. },
  47. build:{
  48. terserOptions: {
  49. //打包后移除console和注释
  50. compress: {
  51. drop_console: true,
  52. drop_debugger: true,
  53. },
  54. },
  55. },
  56. })