Next.js 15 发布了多项已在 beta 或 canary 阶段超过一年的功能。最重要的:局部预渲染(PPR) 现已稳定,Turbopack 在开发和生产构建中均稳定,请求时 API 现在是异步的。
局部预渲染(PPR)— 稳定版
PPR 在构建时将页面分为两部分:从 CDN 边缘即时提供的静态外壳,以及静态外壳交付后从服务器 流式传输的动态 Suspense 孔洞。在单次往返中兼顾静态网站性能和服务器渲染。
生产构建用 Turbopack
| 指标 | Webpack | Turbopack |
|---|---|---|
| 开发服务器冷启动 | 45 秒 | 3 秒 |
| HMR 更新 | 2–5 秒 | ~50 ms |
| 生产构建 | 4 分钟 | 90 秒 |
异步请求 API
Next.js 15 中,访问请求时数据的 API 现在是异步的。这是 Next.js 14 的重大变更。受影响的 API:params、searchParams、cookies()、headers()、draftMode()。运行迁移 codemod 更新现有代码。
改进的缓存语义
Next.js 15 撤销了 13/14 中引入的激进默认缓存行为。fetch() 请求默认不缓存,GET Route Handler 默认不缓存。
React 19 集成
- Actions — 具有内置 pending 状态、错误处理和乐观更新的异步函数。
use()Hook — 在渲染中读取 context 和 Promise。- ref 作为 prop — 不再需要
forwardRef包装。