Next.js 15.4 正式发布!本次版本不仅标志着 Turbopack 的构建能力首次稳定落地,还通过多项优化和新特性,为即将到来的 Next.js 16 做好了铺垫。本文将为你梳理这一版本的核心亮点、未来方向以及升级建议,帮助你更好地理解和应用最新的 Next.js 能力。
🚀 版本核心亮点
1. Turbopack 构建通过全面集成测试
next build --turbopack
命令现已通过全部 8,298 项集成测试,并已在 vercel.com 上部署运行。这标志着 Turbopack 构建系统正式迈入生产可用阶段,是 Next.js 构建性能上的重要里程碑。
2. 稳定性与性能的全方位提升
15.4 版本继续聚焦稳定性与性能优化,覆盖 Next.js 核心逻辑、构建系统、开发者体验等多个层面,修复了大量潜在问题,进一步夯实了开发和部署的可靠性基础。
🔭 Next.js 16 展望:功能前瞻
作为 Next.js 16 发布前的重要一站,15.4 同时引入并整合了一批实验特性,为未来的升级做好铺垫:
-
Cache Components(beta) 整合 Dynamic IO、
use cache
与 Partial Prerendering,为构建更加一致、灵活的缓存系统打下基础。 -
Turbopack 构建(beta) 虽仍属实验性质,但已完成全面测试验证,预计将在 16 中转为正式支持。
-
客户端路由机制优化 改进 App Router 的预取策略与缓存失效逻辑,显著减少不必要的请求并提升页面响应速度。
-
开发者工具与调试增强
- 支持通过 Route Info 查看应用结构;
loading.tsx
可在组件之间切换;- 浏览器日志支持输出至终端,便于调试;
- 初步支持 AI 调试建议。
-
Node.js Middleware 升级为稳定特性 自 15.2 引入以来的中间件机制已足够稳定,可在服务端灵活处理请求。
-
部署适配器(alpha) 开发者可为不同运行环境自定义部署适配器,提供更灵活的跨平台部署方案。
-
轻度废弃与 API 调整
- 弃用对 Node.js 18 与 AMP 的支持;
next/image
的部分 API 将调整,官方后续将提供迁移指南。
⚙️ 实验特性配置示例(可通过 Canary 版本尝鲜)
若你希望提前试用上述功能,可在 next.config.js
中添加以下配置:
ts
experimental: {
browserDebugInfoInTerminal: true,
dynamicIO: true, // Next.js 16 中将重命名为 cacheComponents
clientSegmentCache: true,
devtoolSegmentExplorer: true,
globalNotFound: true,
turbopackPersistentCaching: true,
},
这些配置项将启用日志调试、Segment 结构探索、全局 404 支持、Turbopack 缓存持久化等多个新功能。
🔧 其他重要改进(摘选)
✅ 改进项
- 支持 RSC 请求重定向保留上下文;
- 机器人访问时优雅降级;
- 禁止客户端组件使用
unstable_rootParams
; - 修复缓存击穿、未知 Action ID 返回 404 等问题。
✨ 新增功能
router.prefetch
增加onInvalidate
钩子;Link
组件支持prefetch="auto"
简写;- 新增
--debug-prerender
参数用于构建调试; - Dev server 支持通过 UI 重启;
- 支持预渲染拦截路由机制。
🛠️ 修复项
- 避免配置模块被外部更改;
- React Compiler 兼容边缘路径;
- HMR 中过期预取缓存条目被正确移除。
⬆️ 升级指南
无论是自动迁移还是新建项目,升级路径都非常清晰:
bash
# 使用官方 codemod 工具自动升级
npx @next/codemod@canary upgrade latest
# 或手动更新依赖
npm install next@latest react@latest react-dom@latest
# 创建新项目
npx create-next-app@latest
✅ 总结与建议
- Turbopack 已可稳定使用,建议有构建性能需求的项目尝试切换;
- 前瞻特性建议在 Canary 中评估试用,为 Next.js 16 做好准备;
- 开发体验优化丰富,无论是构建性能、调试工具还是缓存机制均有增强;
- 建议关注迁移计划,提前适配废弃特性和新 API。
如果你正使用 Next.js 或考虑升级,这是一个非常值得关注的版本!