vite.config.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // 开发代理与统一前缀保证 fetch、文件下载和 SSE 使用同一套鉴权路径。
  2. import { defineConfig, loadEnv } from "vite";
  3. import vue from "@vitejs/plugin-vue";
  4. export default defineConfig(({ mode }) => {
  5. const env = loadEnv(mode, process.cwd(), "");
  6. // 使用已有 ESM 发行文件,避免受限 Windows 环境的预打包进程向盘符根目录扫描。
  7. return {
  8. plugins: [vue()],
  9. resolve: {
  10. alias: [
  11. { find: /^dayjs$/, replacement: "dayjs/esm/index.js" },
  12. {
  13. find: /^dayjs\/plugin\/([^/.]+)(?:\.js)?$/,
  14. replacement: "dayjs/esm/plugin/$1/index.js",
  15. },
  16. {
  17. find: /^dayjs\/locale\/([^/.]+)(?:\.js)?$/,
  18. replacement: "dayjs/esm/locale/$1.js",
  19. },
  20. ],
  21. },
  22. optimizeDeps: { noDiscovery: true, include: [] },
  23. server: {
  24. port: Number(env.FRONTEND_PORT || 5173),
  25. strictPort: true,
  26. proxy: {
  27. "/api/v1": {
  28. target: env.BACKEND_URL || "http://127.0.0.1:8000",
  29. changeOrigin: true,
  30. },
  31. },
  32. },
  33. preview: { port: 4173 },
  34. build: { chunkSizeWarningLimit: 1200 },
  35. };
  36. });