vite.config.mts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { defineConfig } from '@vben/vite-config';
  2. export default defineConfig({
  3. application: ({ mode }) => {
  4. return {
  5. compress: false,
  6. compressTypes: ['brotli', 'gzip'] as const,
  7. importmap: false,
  8. importmapOptions: {
  9. // 通过 Importmap CDN 方式引入,
  10. // 目前只有esm.sh源兼容性好一点,jspm.io对于 esm 入口要求高
  11. defaultProvider: 'esm.sh',
  12. importmap: [
  13. { name: 'vue' },
  14. { name: 'pinia' },
  15. { name: 'vue-router' },
  16. { name: 'vue-i18n' },
  17. { name: 'dayjs' },
  18. { name: 'vue-demi' },
  19. ],
  20. },
  21. pwa: false,
  22. pwaOptions: {
  23. manifest: {
  24. description:
  25. 'Vben Admin Pro is a modern admin dashboard template based on Vue 3. ',
  26. icons: [
  27. {
  28. sizes: '192x192',
  29. src: 'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.1/source/pwa-icon-192.png',
  30. type: 'image/png',
  31. },
  32. {
  33. sizes: '512x512',
  34. src: 'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.1/source/pwa-icon-512.png',
  35. type: 'image/png',
  36. },
  37. ],
  38. name: `Vben Admin Pro ${mode}`,
  39. short_name: `Vben Admin Pro ${mode}`,
  40. },
  41. },
  42. visualizer: false,
  43. };
  44. },
  45. vite: {
  46. server: {
  47. proxy: {
  48. '/api': {
  49. changeOrigin: true,
  50. rewrite: (path) => path.replace(/^\/api/, ''),
  51. // 代理目标地址 - backend-mock 项目
  52. target: 'http://localhost:5320/api',
  53. ws: true,
  54. },
  55. },
  56. },
  57. },
  58. });