Next.js 7发布,构建速度提升40%
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网站上下载最新版本。