vite.config.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig, loadEnv, splitVendorChunkPlugin } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import Components from 'unplugin-vue-components/vite'
  6. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  7. import Unocss from 'unocss/vite'
  8. export default defineConfig(({ mode }) => {
  9. const env = loadEnv(mode, process.cwd(), '')
  10. return {
  11. plugins: [
  12. vue(),
  13. Unocss(),
  14. AutoImport({
  15. resolvers: [ElementPlusResolver()],
  16. imports: ['vue', 'vue-router', 'pinia', '@vueuse/core'],
  17. dts: 'src/auto-import.d.ts',
  18. }),
  19. Components({
  20. resolvers: [ElementPlusResolver()],
  21. dirs: ['src/components'],
  22. extensions: ['vue'],
  23. dts: 'src/components.d.ts',
  24. }),
  25. splitVendorChunkPlugin(),
  26. ],
  27. resolve: {
  28. alias: {
  29. '@': fileURLToPath(new URL('./src', import.meta.url)),
  30. },
  31. },
  32. server: {
  33. proxy: {
  34. [env.VITE_BASE_API]: {
  35. target: env.VITE_BASE_PATH,
  36. changeOrigin: true,
  37. },
  38. },
  39. hmr: {
  40. overlay: false,
  41. },
  42. },
  43. }
  44. })