vite.config.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import {
  2. defineConfig,
  3. loadEnv,
  4. UserConfigExport,
  5. splitVendorChunkPlugin,
  6. } from 'vite';
  7. import react from '@vitejs/plugin-react';
  8. import tsconfigPaths from 'vite-tsconfig-paths';
  9. export default defineConfig(({ mode }) => {
  10. process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
  11. const defaultConfig: UserConfigExport = {
  12. plugins: [react(), tsconfigPaths(), splitVendorChunkPlugin()],
  13. server: {
  14. port: 3000,
  15. },
  16. build: {
  17. outDir: 'build',
  18. },
  19. define: {
  20. 'process.env.NODE_ENV': `"${mode}"`,
  21. 'process.env.VITE_TAG': `"${process.env.VITE_TAG}"`,
  22. 'process.env.VITE_COMMIT': `"${process.env.VITE_COMMIT}"`,
  23. },
  24. };
  25. const proxy = process.env.VITE_DEV_PROXY;
  26. if (mode === 'development' && proxy) {
  27. return {
  28. ...defaultConfig,
  29. server: {
  30. ...defaultConfig.server,
  31. open: true,
  32. proxy: {
  33. '/api': {
  34. target: proxy,
  35. changeOrigin: true,
  36. secure: false,
  37. },
  38. '/actuator/info': {
  39. target: proxy,
  40. changeOrigin: true,
  41. secure: false,
  42. },
  43. },
  44. },
  45. };
  46. }
  47. return defaultConfig;
  48. });