写点什么

Next.js 16 上线,有人 3 天升级成功,也有人生产环境翻车

作者:Daniel Curtis

  • 2025-12-19
    北京
  • 本文字数:1441 字

    阅读完需:约 5 分钟

大小:710.17K时长:04:02
Next.js 16 上线,有人 3 天升级成功,也有人生产环境翻车

Vercel 旗下的 React 框架 Next.js 近日发布了 Next.js 16。这一版本带来了多项架构层面的改进与性能优化,同时也对缓存机制进行了根本性的调整。


Next.js 16 引入了多项新特性,包括需要显式开启的 Cache Components、通过 Model Context Protocol 集成的 AI 辅助调试能力,以及作为默认构建工具正式转正的 Turbopack。此外,新版本还对路由系统进行了增强,加入了布局去重(layout deduplication)和增量式预取(incremental prefetching),以加快页面跳转速度。


其中,Cache Components 是 Next.js 16 最关键的变化之一。这一特性彻底告别了 App Router 以往版本中“隐式缓存”的行为,引入了全新的 use cache 指令,开发者可以用它来缓存页面、组件以及函数,并由编译器自动生成缓存键。与此前缓存行为可能难以预测不同,现在所有动态代码默认都会在请求时执行,更符合开发者对全栈应用框架的直觉预期。Cache Components 也补全了 Partial Pre-Rendering 的整体设计思路。缓存组件完善了 2023 年首次推出的部分预渲染(Partial Pre-Rendering)功能,使开发者能够在静态页面中选择性启用部分动态渲染内容,同时不牺牲初始加载速度。


Turbopack 在这一版本中正式达到稳定状态,并成为所有新建 Next.js 项目的默认打包工具。自 Beta 版发布以来,其采用率迅速增长,目前已有超过 50% 的开发会话运行在 Turbopack 之上。官方数据显示,开发者可体验到最高 10 倍的快速刷新(Fast Refresh)速度提升,以及 2-5 倍的生产构建加速。对于仍依赖自定义 webpack 配置的应用,开发者仍可通过运行 next dev --webpack 或 next build --webpack 继续使用 webpack。


在路由与导航系统方面,Next.js 16 也进行了更新。布局去重机制确保在预取多个共享同一布局的 URL 时,布局资源只会被下载一次,而不是为每个链接分别下载,从而减少不必要的网络开销。

开发者 Phil Collins 在评价这一版本时表示,这次发布更像是一次“基础性升级”,不只是修修补补,而是让人能够重新思考应用架构本身。


不过,该版本发布并非毫无问题。有开发者反馈“Next.js 16 导致我们的生产环境崩溃”,尤其是在使用 Node.js 作为中间件运行时遇到了一些挑战。在 Reddit 上,也有开发者发帖讨论升级到 16 版本的实际体验。一位开发者分享称,他将一个单体、多租户的 NextJS 14 应用升级到 NextJS 16,并提到“相较于 Next.js 14,编译速度极快,整个升级过程耗时约 3 天。另一位评论者也表示,借助代码转换工具(codemods),一个大型应用在数周内完成平滑上线,整体过程相当顺利。


需要注意的是,升级到 Next.js 16 涉及多项重大变更。开发者可以使用自动升级 CLI,通过命令px @next/codemod@canary upgrade latest进行升级,也可以选择手动执行 npm install next@latest react@latest react-dom@latest


这些重大变更包括:Node.js 最低版本要求提升至 20.9.0;params 和 searchParams 现在必须以 async 形式使用;middleware.ts 被替换为 proxy.ts,以明确网络边界;revalidateTag() API 在使用过期-重新验证(stale-while-revalidate) 行为时,需要将 cacheLife 配置作为第二个参数传入。更完整的迁移说明可参考官方升级文档


Next.js 是由 Vercel 开发维护的开源框架,基于 React 构建,新增了服务端渲染、静态站点生成和高级路由功能,助力开发者更轻松地构建性能优异的生产级应用。该框架在 Web 开发生态中应用广泛,得到部署平台和托管服务商的原生支持。


原文链接:

https://www.infoq.com/news/2025/12/nextjs-16-release/

2025-12-19 11:455

评论

发布
暂无评论

第八次课程总结

小匚

产品经理训练营

把黄金圣衣交给圣斗士:HDC.Cloud 2021的硬核春天

脑极体

MySQL事务机制是如何实现的?

冰河

MySQL 事务 Binlog Redo Log Undo Log

区块链电子发票的多维创新与变革效应

CECBC

电子税务

区块链链接能源:到底是乌托邦愿景还是未来蓝图?

CECBC

能源

2021团体程序设计天梯赛总结

玄兴梦影

算法 总结 比赛

2.7w字!Java基础面试题/知识点总结!(2021 最新版)

JavaGuide

Java 面试

postman的url编码问题

箭上有毒

4月日更

Spring 实战:通过 BeanPostProcessor 动态注入 ID 生成器

看山

Spring实战

网络协议学习笔记 Day4

穿过生命散发芬芳

网络协议 4月日更

小白也能看懂的操作系统之内存

程序猿阿星

操作系统 内存 内存管理 内存优化

产品文档和原型怎么弄?——课堂笔记

Deborah

KubeFed集群联邦

ilinux

Kubernetes 容器 云原生 kubernetes联邦

截图软件Snipaste超好用的贴图功能,在别的软件也能拥有 | 窗口置顶工具

彭宏豪95

效率 工具 windows 4月日更 窗口置顶

一念三年,心机流转|靠谱点评

无量靠谱

工作三年,小胖连 Redis 持久化都不知道?真丢人!

一个优秀的废人

redis 持久化 aof rdb

产品经理训练营学习总结

新盛

“拼多多”值得我们学习

小天同学

思考 拼多多 自我感悟 4月日更

Dubbo 直连提供者

青年IT男

dubbo

Redis 持久化

叶佳欣

redis持久化

聪明人的训练(二十五)

Changing Lin

4月日更

稻盛和夫的管理绝活:阿米巴经营模式

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

Golang 常见架构模式

escray

学习 极客时间 Go 语言 4月日更

Dubbo 集群容错

青年IT男

dubbo

ConcurrentHashMap 源码分析

大海

ConcurrentHashMap

话题讨论|华为云再报大动作,云厂商未来战场在哪里?

程序员架构进阶

话题讨论 28天写作 4月日更

如何运用“区块链”,让档案数据管理更安全

CECBC

数据安全

源中瑞区块链BaaS平台搭建,为企业开发应用提供技术支撑

源中瑞-龙先生

区块链 源中瑞 Baas

前端架构演进 - 从单体到微前端(理论篇)

Teobler

大前端 架构演进

HashMap 源码分析

大海

Java HashMap底层原理

Spring优缺点

风翱

spring 4月日更

Next.js 16 上线,有人 3 天升级成功,也有人生产环境翻车_架构/框架_InfoQ精选文章