接手一个老项目,首屏 6 秒多,优化后降到 1.8 秒,记录一下清单。
打包层
- antd 按需引入,moment 换 dayjs,体积直接砍半
- 路由级 React.lazy + Suspense 代码分割
- 生产构建关闭 sourcemap,gzip 压缩
运行时
- 长列表虚拟滚动(antd List 换 react-window)
- 高频输入防抖,避免每键一次请求
- React 18 的 useTransition 处理非紧急更新
工具推荐:rollup-plugin-visualizer 看体积分布,一目了然。
完整代码稍后整理到博客频道,欢迎关注~
