用途:为 Next.js 应用提供系统化的性能优化方法,围绕渲染策略、打包体积、图片与字体、Core Web Vitals 及路由分段展开。
主要能力与要点: 渲染策略按路由选择——静态 SSG 适合公开内容、博客与文档,速度最快、无服务器负载,但更新后会过期;ISR 适合周期性变化内容,可按需或按时间重新验证;动态 SSR 适合用户相关、需登录的内容,始终最新但有每次请求的服务器成本;流式渲染适合依赖慢数据的路由,可改善 TTFB 并渐进渲染。原则是默认静态,必要时动态。 打包优化:使用 ANALYZE=true npm run build 分析打包,npx cost-of-modules 查看单个包体积;对重型组件用 next/dynamic 动态导入,移除未用导入以 tree-shake,避免 barrel exports(index.ts 重导出影响 tree-shaking),尽量使用 react-compiler。 图片优化:统一使用 next/image,始终提供 width 与 height 以防布局偏移,LCP 图片(首屏主图)加 priority,响应式图片用 sizes,图片托管于 CDN 或配置 remote patterns。 字体优化:使用 next/font(如 next/font/google 的 Inter),设置 subsets 与 display: 'swap' 以避免 FOIT,自托管可消除外部请求。 Core Web Vitals:LCP ≤ 2.5s,INP ≤ 200ms,CLS ≤ 0.1;对应修复包括优化首屏图与 TTFB、拆分长任务与延迟加载、为图片视频设定尺寸。 路由分段:数据获取与所需分段就近放置,各分段可用自己的 loading.tsx 作为流式边界,长页面慢区块可提取并用 Suspense。 测量:npx @next/codemod@latest optimize 本地运行,生产环境可通过 Vercel Analytics / Speed Insights 在控制台启用。 检查清单:每路由正确的渲染策略;首屏图有 priority 和明确尺寸;动态内容不引起布局偏移;重型组件用 next/dynamic 懒加载;字体用 next/font 且 display: 'swap';组件目录无 barrel exports;有 loading.tsx 或 Suspense;启用 Speed Insights。
限制:资料未提供具体收费、价格、适用平台版本或效果承诺,相关内容暂未提供。