Next.js 13 带来比 Webpack 快 700 倍的打包器:Turbopack
前端开发平台 Vercel 的团队宣布推出了 Next.js 13,该版本的一些亮点更新内容包括:
app/
Directory (beta):更简单、更快、更少的客户端 JS。- Turbopack (alpha):速度提高 700 倍的基于 Rust 的 Webpack 替代品。
- 新的
next/image
(stable):native browser 延迟加载速度更快。 - 新的
@next/font
(beta):具有零布局偏移的自动自托管字体。 - 改进
next/link
:Simplified API with automatic<a>
。
更新:
npm i next@latest react@latest react-dom@latest eslint-config-next@latest
app/
Directory (beta)
通过引入 app/ directory (beta) 来改进 Next.js 中的路由和布局,这是之前为征求社区反馈而发布的 Layouts RFC 的结果。包括对以下内容的支持:
- Layouts:轻松共享 UI,同时保留状态并避免重新渲染。
- Server Components:使服务器优先成为大多数动态应用程序的默认设置。
- Streaming:显示即时加载状态并流式传输更新。
- Suspense for Data Fetching:新的
use
hook 支持 component-level fetching。
该 app/ directory 可以与现有 pages directory 共存以进行 incremental adoption。公告指出,虽然在升级到 Next.js 13 时不需要使用该 app/ directory,但其正在为构建复杂的 interfaces 奠定基础,同时减少 JavaScript 的数量。
引入 Turbopack (alpha)
Next.js 13 中包含 Turbopack —— Webpack 的新的基于 Rust 的继任者。
“Webpack 已被下载超过30 亿次。虽然它是构建 Web 不可或缺的一部分,但我们已经达到了基于 JavaScript 的工具所能达到的最大性能的极限。在 Next.js 12 中,我们开始过渡到 native Rust 驱动的工具。我们首先从 Babel 迁移,这导致转译速度提高了 17 倍。然后,我们替换了 Terser,这使得 minification 提高了 6 倍。现在是时候全身心投入到原生的捆绑工作中去了。”
将 Turbopack alpha 与 Next.js 13 一起使用可以:
- 更新速度比 Webpack 快700 倍
- 更新速度比 Vite 快 10 倍
- cold starts 速度比 Webpack 快 4 倍
根据介绍,Turbopack只捆绑开发中所需要的最小资产,所以启动时间非常快。在一个有3000个模块的应用程序中,Turbopack的启动时间为1.8秒。Vite需要11.4秒,Webpack需要16.5秒。
Turbopack 对服务器组件、TypeScript、JSX、CSS 等提供了开箱即用的支持。不过在 Alpha 版期间,许多功能尚不受支持。
注意: Next.js 中的 Turbopack 目前仅支持
next dev
,可查看支持的功能。开发团队还在努力通过 Turbopack添加next build
支持。
可在 Next.js 13 中通过next dev --turbo
试用 Turbopack alpha。
值得一提的是,Turbopack 还是出自 Webpack 作者 Tobias Koppers 之手。Tobias Koppers 于 2021 年 4 月加入 Vercel,参与了 Turbopack 的开发。
更多详情可查看官方公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ClickHouse 冷热分离存储在得物的实践
1. 业务背景 得物上一代日志平台的存储主要依赖于 ES。随着公司业务的高速发展,日志场景逐步产生了一些新需求,主要表现在:应用数量逐步增多,研发需要打印更多的日志定位业务问题,安全合规需要保留更长时间的日志。随着 Clickhouse 的应用广泛,我们了解到行业部分知名公司已经将日志平台逐步由 ES 迁移至Clickhouse,以此来获取更好的写入性能与高压缩比。因此我们与日志平台研发团队开始进行日志平台新存储的选型评估,本文会介绍我们如何通过 Clickhouse 的冷热分离存储替代 ES 的实施方案。 2. 前置介绍 2.1 ClickHouse 简介 ClickHouse 是一个用于联机分析( OLAP )的列式数据库管理系统( DBMS )。列式数据库更适合于 OLAP场景(对于大多数查询而言,处理速度至少提高了 100 倍),下面通过图片更有利于直观理解: 行式 图片来源: https://ClickHouse.com/docs/assets/images/row-oriented-d515facb5bffb48cbd09dc7d064c8816.gif# 列式 图片来源:...
- 下一篇
ActionView 1.15.2 发布,更好用的团队敏捷开发工具
ActionView 1.15.2 新版本已发布,docker 镜像同步发行,新版本做了以下内容的更新: 登录时增加了验证码校验功能; 修复了登录日志监控模块问题; 优化了一些其他小问题; 优势: 支持用户创建项目,项目不仅可引用全局配置方案,也可自定义本地方案,实现了全局配置方案和本地配置方案的完美结合。 各项目不仅可引用系统默认工作流,同时可自定义自己的工作流,工作流的每一步可进行精细控制,确保正确的人在正确的时间执行正确的操作。 支持敏捷开发的看板视图 (Kanban 和 Scrum)。 支持甘特图视图。 简单易用的问题界面配置。 强大的问题筛选功能,可定义自己的过滤器。 完备的权限控制模型,支持给用户组授权。 灵活可定制的消息通知方案。 不仅可查看某个问题的改动记录,还可浏览整个项目的活动日志。 支持用户在问题上添加工作日志。 支持用户针对问题发表评论。 团队成员可分享和查找工作所需的资料文档。 支持基于 markdown 语法的 wiki。 支持各种维度的统计报表。 支持基于 LDAP 用户的同步和认证。 通过 WebHook 集成 GitHub 和 GitLab。 使用当前...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能