随着 16.x 版本的推出,Next.js 引入了一种新的编程模型,解决了 App Router 的一些困扰:快速的初始加载、即时的客户端导航以及可选的声明式缓存。这种模型称为缓存组件(Cache Components),将在 Next.js 17 中成为默认选项。此前,这一功能并未被普遍推荐,因为存在性能差距。16.4 版本的关键特性已关闭这些差距,使 Next.js 能够推荐缓存组件作为每个应用的最佳选择。从 16.4 版本开始,使用 create-next-app 创建的所有新应用默认启用缓存组件。对于全新的项目,可以毫无保留地采用这种模型。对于现有的应用,新的 `next upgrade --agent` 命令提供了针对性的指导,并通过专门的技能帮助代理提供重构建议,以便采用缓存组件。16.4 还包括面向所有应用的开箱即用改进:开发时的更少内存和磁盘使用、减少编译时间、更小的生产捆绑包,以及 React 19.3。缓存组件是一套功能,允许开发人员在组件树的特定部分标记为可缓存。通过 'use cache' 注释,Next.js 在客户端导航期间缓存组件 UI,并可选地在渲染或构建期间在服务器端缓存。这类可组合的注释将客户端-side 缓存、可插拔的服务器端缓存和请求时间渲染融合在单个页面内取代了之前 App Router 版本中隐式的缓存行为。一个标志性特性让页面能够在单个服务器响应中流式传输静态和动态内容,使开发复杂的用户界面而不牺牲速度。对于完全静态的页面,新的 Static 选项确保路由的外壳、预取或导航是静态的,防止动态组件意外降低性能或成本特征。
来源: Hacker News · 由HeadlinesBriefing整理摘要