feat: 添加管理端前端 (HMS 基座 React 管理面板)
- 从 HMS 基座复制 apps/web/ (React + Ant Design + Vite + TypeScript) - 管理端自动代理 API 到 localhost:3000 (vite.config.ts) - 更新 scripts/dev.sh 支持三端启动: backend/admin/app - 登录验证通过, 用户管理/角色权限/审计日志等页面正常 - 添加 .gitignore 排除 node_modules/dist
This commit is contained in:
66
apps/web/vite.config.ts
Normal file
66
apps/web/vite.config.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
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,
|
||||
},
|
||||
"/uploads": {
|
||||
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: 500,
|
||||
},
|
||||
optimizeDeps: {
|
||||
include: [
|
||||
"react",
|
||||
"react-dom",
|
||||
"react-router-dom",
|
||||
"antd",
|
||||
"@ant-design/icons",
|
||||
"axios",
|
||||
"zustand",
|
||||
],
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user