vite.config.mts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { defineConfig, loadAndConvertEnv } from '@vben/vite-config';
  2. export default defineConfig({
  3. application: async ({ mode }) => {
  4. const envConfig = await loadAndConvertEnv();
  5. return {
  6. ...envConfig,
  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.3/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.3/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. };
  43. },
  44. vite: {
  45. server: {
  46. proxy: {
  47. '/api': {
  48. changeOrigin: true,
  49. rewrite: (path) => path.replace(/^\/api/, ''),
  50. // 代理目标地址 - backend-mock 项目
  51. target: 'http://localhost:5320/api',
  52. ws: true,
  53. },
  54. },
  55. },
  56. },
  57. });