vite.config.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import { resolve } from 'path'
  4. // 后端代理目标:默认 localhost:8080,可用 VITE_PROXY_TARGET 覆盖(如本地 8080 被其他服务占用)
  5. const backendTarget = process.env.VITE_PROXY_TARGET || 'http://localhost:8080'
  6. export default defineConfig(({ mode }) => ({
  7. base: '/',
  8. plugins: [vue()],
  9. resolve: {
  10. alias: [
  11. { find: '@', replacement: resolve(__dirname, 'src') },
  12. // logicflow 仅提供 UMD bundle,Rollup 当 ESM 处理会 TDZ,强制走 CJS 入口
  13. { find: /^@logicflow\/core$/, replacement: '@logicflow/core/dist/entry.js' },
  14. { find: /^@logicflow\/extension$/, replacement: '@logicflow/extension/cjs/index.js' }
  15. ]
  16. },
  17. build: {
  18. sourcemap: mode !== 'production',
  19. chunkSizeWarningLimit: 2000,
  20. rollupOptions: {
  21. output: {
  22. // logicflow UMD bundle 被 Rollup 分 chunk 后会产生 TDZ 报错,
  23. // 不做代码分割,打成一个包避免跨 chunk 变量引用顺序问题
  24. inlineDynamicImports: true
  25. }
  26. }
  27. },
  28. server: {
  29. port: 3000,
  30. proxy: {
  31. '/api': {
  32. target: backendTarget,
  33. changeOrigin: true,
  34. rewrite: (path) => path.replace(/^\/api/, '')
  35. },
  36. '/uploads': {
  37. target: backendTarget,
  38. changeOrigin: true
  39. },
  40. '/analysis': {
  41. target: backendTarget,
  42. changeOrigin: true
  43. }
  44. }
  45. }
  46. }))