Files
Profeto/frontend/vite.config.ts
T
shangfangjian f71f29b4cb fix(frontend): 按审计报告修复全部17项问题,数据层迁至 src/api/
P0(4): 假数据清除(avg_latency_ms:2400→null,无端点字段改null)、假进度条改诚实的不确定态、
  公共页不再反向依赖 admin(api/public.ts)、PredictProgress 重写
P1(6): 23处 any 归零(对齐后端 Pydantic 契约新增 PredictionMatchRef/HealthProbe 等)、
  a11y(aria-live 0→4,htmlFor 1→17,aria-describedby/invalid 补齐)、App.tsx 抽 SiteLayout、
  路由级 lazy+代码分割(首屏 315KB→238KB)、index.html 补 SEO/favicon/OG、死代码清理(AdminIcon 抽出)
P2(7): Login/index.css 裸色值令牌化、groupByDate useMemo、滚动监听统一、原生控件基元化、
  useLeagues 静默失败补告警、路由级 ErrorBoundary

另修复审计未列问题:
- Monitoring todos 过滤器 t!==false 放行 null 导致整页崩溃 → Boolean(t) 真值过滤
- Collection 渲染期 Date.now()(react-hooks/purity 捕获)→ 计时器 effect
- bg-press-wash/60 透明度修饰符静默失效 → RGB 三元组 + 构建期令牌守卫(下个提交接入)

工程化:数据层 dal/api/types(1047行)git mv 至 src/api/,admin 留 @deprecated 兼容壳,
  21 个引用方直指新路径;tsconfig 开启 noUnusedLocals/noUnusedParameters(清理9处存量)
2026-09-22 23:45:06 +08:00

37 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
port: 5173,
proxy: {
'/api': 'http://localhost:8000',
},
},
build: {
rollupOptions: {
output: {
/**
* 手动分包。
*
* 此前所有代码打进单个 index.js。配合 App.tsx 的路由级 lazy,
* 再把变动频率最低的依赖单独成 chunk:
*
* vendor —— react / react-dom / react-router。这些只在升级依赖
* 时变化,与业务代码的发布节奏解耦,可长期复用浏览器
* 缓存(哈希不变即命中)。
*
* 注:react-router 不单独拆。它与 react 之间存在引用关系,
* 拆开容易在 chunk 间产生请求瀑布,收益小于合并。
*/
manualChunks: {
vendor: ['react', 'react-dom', 'react-router-dom'],
},
},
},
// 单 chunk 超过 500kB 时提示,便于及早发现分包退化
chunkSizeWarningLimit: 500,
},
})