来自 Vercel 的基于 React 的开源框架 Next.js 在9.5版本中带来了一些静态站点生成性能方面的改进。该版本还允许开发者使用 Webpack 5 Bata 版,以实现更小、更快的构建。
与很多现代 JavaScript 框架一样,Next.js 在 9.3 版本中引入了静态站点生成功能。在 9.5 版本中,Next.js 增加了增量静态站点生成,提供了几个新选项,包括在部署后快速重新构建静态页面,不需要重新构建整个静态站点。
新版本引入的一项技术允许在流量请求页面时重新渲染现有的静态页面,从而消除访问站点页面时发生中断。与传统的静态站点渲染相比,没有延迟峰值,页面永远不会离线,数据库和后端性能也很高效。
Next.js 9.5 引入的另一组变化与配置基本路径、URL 中可选的尾斜杠以及对重写、重定向和请求头的支持有关。
Next.js 9.5 利用内容哈希而不是构建标识符为页面引入了持久缓存。当 JavaScript 包没有发生改变时,可以跨版本缓存页面。
基于 Next.js 9.4 引入的用于热模块加载的快速刷新方法,9.5 版本为错误消息、组件状态和更友好的故障排除信息提供了更好的开发者工具。Next.js 9.5 还利用 React Profiler API 来识别产品性能问题。
虽然Webpack 5仍处于 Beta 阶段,但 Next.js 9.5 为其提供可选的支持,以便能够利用即将发布的 Webpack 新功能,包括改进的摇树优化、持久缓存以及确定性的块和模块标识符。要使用 Webpack 5 Beta 版,用户需要更新 package.json,在其中指定一个特定的 Webpack 版本。Next.js 9.5 的一些改进有利于为 Webpack 5 提供支持,包括删除了各种 Webpack 中间件依赖关系。升级到 Webpack 5 应该很简单,不过使用自定义 Webpack 配置的开发人员需要验证配置的兼容性。
社区对 Next.js 9.5 的反应是非常积极的,主要针对静态站点生成和增量重新渲染方面的改进。
Next.js 采用了 MIT 开源许可。开发者可以通过 Next.js 的GitHub仓库参与共享,并遵循 Next.js 的贡献指南和行为准则。
原文链接:
Next.js 9.5 Improves Static Site Regeneration Performance
评论