vite.config.prod.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { mergeConfig } from 'vite';
  2. import baseConfig from './vite.config.base';
  3. import configCompressPlugin from './plugin/compress';
  4. import configVisualizerPlugin from './plugin/visualizer';
  5. import configArcoResolverPlugin from './plugin/arcoResolver';
  6. import configImageminPlugin from './plugin/imagemin';
  7. export default mergeConfig(
  8. {
  9. mode: 'production',
  10. plugins: [
  11. configCompressPlugin('gzip'),
  12. configVisualizerPlugin(),
  13. configArcoResolverPlugin(),
  14. configImageminPlugin(),
  15. ],
  16. server: {
  17. open: true, // 项目启动后,自动打开
  18. fs: {
  19. strict: true,
  20. },
  21. proxy: {
  22. '/base': {
  23. target: 'http://192.168.20.116:8089',
  24. changeOrigin: true,
  25. ws: true,
  26. },
  27. '/api': {
  28. target: 'http://192.168.20.116:8089',
  29. changeOrigin: true,
  30. ws: true,
  31. },
  32. '/api/v1': {
  33. target: 'http://192.168.20.116:8089',
  34. changeOrigin: true,
  35. ws: true,
  36. },
  37. },
  38. },
  39. build: {
  40. rollupOptions: {
  41. output: {
  42. manualChunks: {
  43. arco: ['@arco-design/web-vue'],
  44. chart: ['echarts', 'vue-echarts'],
  45. vue: ['vue', 'vue-router', 'pinia', '@vueuse/core', 'vue-i18n'],
  46. },
  47. },
  48. },
  49. chunkSizeWarningLimit: 2000,
  50. },
  51. },
  52. baseConfig
  53. );