
Next.js是来自Vercel的 React 框架,它最近发布了15.5版本,这个版本专注于更快的生产构建、更强大的服务器端中间件和 TypeScript 改进。该更新还开始警告开发者 Next.js 16 中即将推出的新变化。
Turbopack是一个增量式的、基于 Rust 的打包器(bundler),可以作为Webpack的替代品方案,Next.js 团队表示他们在 Vercel 应用的生产环境中使用了它。Turbopack 用于生产构建是 15.5 版本的重要更新。开发者现在可以通过一个的标记选择使用 Turbopack 进行生产构建:
Vercel 的基准测试显示,在各种项目规模上,不管是小型还是大型项目,构建时间都有了显著的改进,编译时间快了2倍到5倍。发布说明还指出,Turbopack 所构建的项目提供的 JavaScript 和 CSS 量要么相似,要么更少,请求次数也更少。
15.5 版本中的另一个重大变化是 Node.js 中间件运行时的稳定化。中间件现在可以基于完整的 Node API 来运行,这使得以前在 Edge 运行时中难以或不可能实现的模式变得可行(例如,使用原生 fs/crypto 模块或更重的认证流程)。他们指出,尽管 NodeJS 运行时在 Next 16 中不会默认启用,但在未来的版本中可能会启用。
TypeScript 用户收到了一批实用性的改进,它们旨在减少运行时的意外情况并提高开发体验(DX)。15.5 版本了稳定了类型化路由功能(因此链接目标在编译时会进行验证),引入了路由导出验证和辅助类型(PageProps、LayoutProps 和 RouteContext),并添加了一个next typegen
命令来生成类型制品而不需要完整的构建。这些变化旨在让开发者在工作流程中更早地捕获导航和导出错误。
该版本还规范化了 Next.js 希望项目如何处理代码检查的变化,next lint
命令被弃用,转而支持明确的代码检查器配置(ESLint或Biome等替代方案)。弃用该命令是为了让工具链选择更明确,并将 Next.js 核心与规定性的默认值解耦。在 Next.js 16 中,构建过程中的自动代码检查将被移除。
15.5 包含了许多弃用警告,旨在平滑过渡到 Next.js 16。该版本将为 next/link 中的legacyBehavior、AMP 和一组 next/image 行为等项目提供编译时或构建警告。这些警告的目的给团队足够的时间在下一个主版本之前进行修复。
社区对更新的反应普遍非常积极。许多开发者认为这是一个可靠的更新,类型化路由和移除隐式构建时检查经常被提及。r/nextjs subreddit 上的一条评论称 15.5 是一个非常坚实的更新,并欢迎类型化路由和 next lint 的移除。LinkedIn 上的一位用户表示,在他们的快速测试中,使用 Turbopack 看到了 20%的时间改进。
Next.js 是由 Vercel 创建的开源React框架,它为构建全栈 Web 应用程序提供了一个包含自己见解的架构。它通过文件系统路由、服务器端渲染(SSR)、静态站点生成(SSG)、API 路由和内置性能优化等特性扩展了 React。
原文链接:
Next.js 15.5 Ships - Turbopack Production Builds, Node.js Middleware, and Tighter Typescript DX
评论