Next.js 7 发布,构建速度提升 40%

阅读数:1295 2018 年 10 月 19 日

Next.js 团队发布了其开源 React 框架的7 版本。该版本的 Next.js 主要是改善整体的开发体验,包括启动速度提升 57%、开发时的构建速度提升 40%、改进错误报告和 WebAssembly 支持。

Next.js 是一个 React 框架,它的主要目标是在生产环境中提供出色的性能和良好的开发体验。为了提供这种良好的开发体验,Next.js 支持服务器端渲染、代码分割和客户端路由。

Next.js 以 JavaScript 生态系统中的许多标准行业工具为基础构建,比如 Babel 和 Webpack,而版本 7 带来了这些工具的最新版本。这些升级以及一个新的增量编译缓存意味着 Next.js 编译现在快了 40%,一个基本应用程序的编译时间将从 304ms 减少到 178ms。

随着 Webpack 升级,得益于新增的.mjs 支持,Next.js 7 允许捆绑所有常见的 JavaScript 模块,如 CommonJS、AMD 和 ESM,同时也支持 EcmaScript, JSON 和 WebAssembly 模块。

Next.js 7 还捆绑了最新版本的 Babel,它提供了对 TypeScript、片段语法和尚处于试验阶段的“自动填充(poly filling)”的支持。

Next.js 7 的初始有效载荷大小降低了多达 7.4%,一个在 Next.js 以前的版本中大小为 1.62kB 的文档变成了到 1.50kB。这些改进源于 Next.js 团队删除了某些 HTML 元素并缩小了一些内联脚本。

Next.js 7 的另一个主要改进是对 React Context API 的支持。Context API 是一种跨 React 组件共享数据的方式,而且不必每次都显式共享。得益于 Next.js 能够在页面之间共享代码,这将使其内存使用减少 16%。

Next.js 7 支持模块的动态导入;之前,由于 Next.js 使用自己的导入功能,这是不可能的。现在,他们已经删除了这个功能,并且支持 Webpack 自带的默认导入功能,允许动态导入、命名和绑定文件。

Next.js 在社区内得到了广泛好评。Reddit 用户 reacttricks 说,“在过去一年半的时间里,我所有的项目都在使用 Next.js,我建议每个人都尝试一下。”其他的反馈包括对接下来会发生什么的困惑。theineffablebob 问:“Next 是一个包含了让站点启动和运行所需的所有内容的框架吗?它有点像那些样板文件?”Nextjs.org 将自己视为 JavaScript 和 React 世界的 PHP,nextjs.org 上有这样一句话:“考虑一下如何用 PHP 创建 web 应用。创建一些文件,编写 PHP 代码,然后简单地部署它。我们不必太考虑路由问题,应用程序是在服务器上渲染的。

感兴趣的读者可以从Next.js网站上下载最新版本。

查看英文原文:Next.js 7 Released with 40% Faster Builds

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论