Back to posts
技术文章

技术文章

Practical techniques to speed up Next.js apps: caching, code-splitting, images, and data fetching.

XTOctober 28, 2025

Overview

Next.js 提供了多种性能优化手段:路由级代码分割、Edge/Server 渲染、next/image、以及强大的缓存与数据获取策略。本文总结在实际项目中最常用、收益最高的优化手段与顺序。

Next.js Performance

1. 数据获取与缓存策略

  • 使用 fetch(url, { next: { revalidate: N }}) 在 App Router 中开启 ISR,降低后端压力。
  • 对稳定数据使用 export const revalidate = N 进行路由级缓存。
  • 动态个性化内容放到客户端获取,避免阻塞首屏。

2. 图片优化

  • 使用 next/image,并提供明确的 width/height
  • 合理的图片格式(WebP/AVIF)与压缩质量,CDN 缓存策略要明确。

Optimized Images Example

3. 代码分割与懒加载

  • 默认路由级代码分割已开启。
  • 对于非首屏、体积较大的组件使用 dynamic(() => import('...'), { ssr: false }) 或懒加载。

4. 避免不必要的客户端渲染

  • 能在服务端完成的逻辑尽量放到 Server Component。
  • 大型表单或重交互区块再下沉到 Client Component。

5. 性能基线与监控

  • 使用 Lighthouse/ Web Vitals 建立基线。
  • 接入 RUM(如 Vercel Analytics)持续观测真实用户指标。

结语

先做“性价比最高”的优化(缓存/图片/首屏体积),再逐步打磨长尾细节,能在最短时间得到最大的性能提升。