import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import { fileURLToPath, URL } from "node:url"; // https://vite.dev/config/ export default defineConfig({ plugins: [react()], // 生产环境基础路径配置 base: "/", // 构建配置 build: { outDir: "dist", // 启用 sourcemap 方便调试 sourcemap: true, // 资源内联限制 assetsInlineLimit: 4096, // 代码分割配置 rollupOptions: { output: { // 分割代码 manualChunks: { // 分割第三方库 vendor: ["react", "react-dom", "react-router-dom"], // 分割大型组件 components: [], // 分割工具函数 utils: ["@/utils/LinePathGenerator", "@/utils/request"], }, // 配置chunk文件名格式 chunkFileNames: "assets/js/[name]-[hash].js", // 配置入口文件名格式 entryFileNames: "assets/js/[name]-[hash].js", // 配置静态资源文件名格式 assetFileNames: "assets/[ext]/[name]-[hash].[ext]", }, }, }, // 开发服务器配置 server: { host: "0.0.0.0", port: 5150, // Frontend port, different from backend strictPort: true, // API代理配置 proxy: { "/api": { target: "http://localhost:2025", // Backend server changeOrigin: true, rewrite: (path) => path, }, "/health": { target: "http://localhost:2025", changeOrigin: true, }, }, }, resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, });