Next.js大升级有新的Rust编译器支持ES模块

442 阅读2分钟

Next.js大升级有新的Rust编译器,支持ES模块

网络框架的第12版中还强调了更快的构建和新的中间件功能。

Next.js 12是Vercel用于构建React应用的最新版本的网络开发框架,它通过新的Rust编译器和JavaScript的本地ES模块突出了更快的构建。

Vercel将第12版描述为Next.js有史以来最大的版本,于10月26日推出。该版本中的Rust编译器是建立在swc JavaScript/TypeScript编译器技术之上的,并利用了本地编译。Next.js的构建者对捆绑和编译进行了优化,编译的本地刷新速度大约为三倍,生产构建的速度大约为五倍。

第12版的编译器也提高了大型代码库的速度,而且开发人员对编译器性能的可观察性也有所提高。对webpack模块捆绑器的底层改进优化了快速刷新,使按需输入更加可靠。

开发人员可以通过运行更新到Next.js 12。npm i next@latest

Next.js 12的其他改进:

  • 支持ES模块,为JavaScript带来了一个官方的、标准化的模块系统。启用了更小的包尺寸和JavaScript捆绑包,以获得更好的用户体验。在Next.js 11中,对ES模块的实验性支持被优先于CommonJS模块。第12版将其作为默认值。此外,还提供了对通过URL导入ES模块的实验性支持。
  • 中间件功能的引入使开发者能够使用代码而不是配置。开发人员可以在请求完成之前运行代码。中间件可用于任何为一组页面共享逻辑的东西,包括认证、机器人保护、重定向和重写、服务器端分析和其他功能。
  • 随着React 18的支持,诸如Suspense、自动批处理更新等功能,以及startTransition 等API都在实验性标志下得到支持,用于服务器渲染的新流媒体API也支持React.lazy
  • React服务器组件(React Server Components),现在在alpha阶段支持,可以在服务器上渲染一切,包括组件本身。有了服务器组件,就不需要客户端的JavaScript,使页面渲染更快,改善应用程序的用户体验。
  • 内置的图像优化API现在支持AVIF图像,使图像比WebP小20%。这项功能现在处于选择加入状态。
  • 网络爬虫或搜索机器人将使用’fallback: true’ ,自动对ISR(增量静态再生)页面进行服务器渲染。
  • 通过输出文件追踪,Next.js会自动追踪每个页面和API路由需要哪些文件。
  • 快速刷新现在使用WebSocket连接,而不是EventSource连接。