Files
hms/apps/web/vite.config.ts
iven 47df2e2aa6
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
perf(web): manualChunks 拆分 heavy deps + lazy ProcessDesigner/ProcessViewer
- vite.config.ts 添加 vendor-charts/plots/graphs, vendor-flow, vendor-editor 独立 chunk
- vendor-antd 从 3000kB 降至 1532kB,charts 独立 1459kB
- ProcessDesigner/ProcessViewer 改为 React.lazy 按需加载
- 移除 PluginGraphPage 遗留的 animFrameRef 未使用变量
2026-04-27 10:11:12 +08:00

63 lines
1.7 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
export default defineConfig({
plugins: [react(), ...tailwindcss()],
server: {
port: 5174,
proxy: {
"/api": {
target: "http://localhost:3000",
changeOrigin: true,
},
"/ws": {
target: "ws://localhost:3000",
ws: true,
},
},
},
build: {
target: "es2023",
cssTarget: "chrome120",
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes("node_modules/react-dom") || id.includes("node_modules/react/") || id.includes("node_modules/react-router-dom")) {
return "vendor-react";
}
if (id.includes("node_modules/@ant-design/charts") || id.includes("node_modules/@ant-design/plots") || id.includes("node_modules/@ant-design/graphs")) {
return "vendor-charts";
}
if (id.includes("node_modules/@xyflow/react")) {
return "vendor-flow";
}
if (id.includes("node_modules/@wangeditor/") || id.includes("node_modules/wangeditor/")) {
return "vendor-editor";
}
if (id.includes("node_modules/antd") || id.includes("node_modules/@ant-design")) {
return "vendor-antd";
}
if (id.includes("node_modules/axios") || id.includes("node_modules/zustand")) {
return "vendor-utils";
}
},
},
},
sourcemap: false,
reportCompressedSize: false,
chunkSizeWarningLimit: 600,
},
optimizeDeps: {
include: [
"react",
"react-dom",
"react-router-dom",
"antd",
"@ant-design/icons",
"axios",
"zustand",
],
},
});