Vite 第 1 个 Rolldown 稳定版正式发布,前端构建又一波“工业革命“

今日要闻

打破信息壁垒,走近全球前端。Hello World 大家好,我是林语冰。

这两天 Vue 阿姆斯特丹大会开始进行,尤雨溪、Vue 团队和 Vite 团队估计会接连爆料。

去年年底,Vite 首发公测版;今天,Vite 团队官宣 Vite 8(稳定版) 正式首发,这是基于 Rust 编写的打包器 Rolldown 驱动的超级构建工具。

Vite 8 速览

开发体验

Vite 8 支持 Vite Devtools 开发工具,可以直接从开发服务器调试 Vite 驱动的项目。

Vite 8 还能转发浏览器的 console 日志,启用 server.forwardConsole,将打印结果或报错"投屏"到开发服务器终端。

首先,开发者不用在浏览器控制台和 CLI 终端反复横跳;再者,这特别适合 AI Agent 代理,因为浏览器错误会在 CLI 输出中显示。

TypeScript 特色

首先,Vite 8 支持 tsconfig paths,默认不会启用,你可以设置 resolve.tsconfigPathstrue,来启用 TypeScript 的路径别名解析。

再者,Vite 8 自动支持 TypeScript emitDecoratorMetadata 选项,无需外部插件。

其他功能

wasm?init import 导入现在能在 SSR 环境运行,这能将 Vite 的 Wasm 功能扩展到服务端渲染。

此外,@vitejs/plugin-react 也发布了 v6.0 主版本,该插件现在使用 Oxc 取代 Babel 依赖,来实现 React Refresh 转换,安装体积更小。

对于需要 React Compiler 的项目,它也提供了 reactCompilerPreset 辅助工具,搭配 @rolldown/plugin-babel 使用,允许你按需启用。

Vite 8 升级须知

Vite 8 要求 Node 版本 >=20.19>=22.12,来支持 CJS 加载 ESM 模块(require(esm))。

小型项目直接升级,esbuild + Rollup 的配置会自动转换为 Oxc + Rolldown 的对应配置。

大型项目建议渐进升级:先从 vite 升级到 Vite 7 的 rolldown-vite,再升级到 Vite 8。

diff 复制代码
{
  "devDependencies": {
-    "vite": "npm:rolldown-vite@7.2.2"
+    "vite": "^8.0.0"
  }
}

此外,Vite 8 安装体积比 Vite 7 大 15 MB,主要因为 LightningCSS 和 Rolldown。

具体而言,以前可选的 Lightning CSS 现在是常规依赖,默认用于 CSS 压缩。再者,Rolldown 体积大于 esbuild + Rolldown,这是 Rolldown 速度方面对后两者降维打击的代价,个人理解类似算法复杂度的"磁盘空间换打包时间"。

升级到 Vite 8 后,你还会发现默认的浏览器构建目标也更新了:

  • Chrome 107 -> 111
  • Edge 107 -> 111
  • Firefox 104 -> 114
  • Safari 16.0 -> 16.4

换而言之,build.target"baseline-widely-available" 的默认浏览器值对齐 Baseline 广泛可用基线,即可以认为这些版本大约是发布时长两年半的"长期稳定版"。

总之,建议升级时先深度阅读 Vite 官方提供的迁移指南。

工具链大一统

Vite 8 之前,为了避免"反复造轮子",Vite 被迫采用"双引擎"架构:

  1. 开发时,采用 esbuild 依赖预打包,转换 TSX,快速编译,开发体验丝滑
  2. 构建时,采用 Rollup 设计良好的插件 API,打包、代码分割和优化

bug 在于,两者涉及不同的插件系统和处理流程,需要海量胶水代码来让它们联手工作,用户也在反馈某些极端情况下的开发和生产环境打包的不一致行为。

因此,尤雨溪组建 Rolldown 团队,创立 VoidZero 公司筹资,打造了基于 Rust 的打包器 Rolldown,来驱动 Vite 全家桶乃至整个 VoidZero 工具链。

Rolldown 打包器基于 Oxc 编译器,实现了代码解析器、路径解析器、源码转化器和代码压缩器等端到端工具链。

Rolldown 既媲美 esbuild 原生性能,又兼容 Rollup 插件系统。此外,统一打包器还点亮了"双引擎"架构中缺失的技能树,比如模块级持久缓存、模块联邦等。

直至今日,我们终于拥有了超快的 Oxc 编译器 -> Rolldown 打包器 -> Vite 构建工具完整的前端工程化工具链。此外,Vite 和 Oxc 生态还提供了 Vitest、Oxlint、Oxfmt、Vite+ 等 VoidZero 全家桶。

这个工具链本身和运行时无关,这意味着我们可以在 Node / Deno / Bun 中使用 Vite,开发前端工具库或构建 Web 应用。

这一次,基于 Rolldown 的 Vite 8 真正实现前端工程化(除了 React 生态)的大一统,惊人的性能再次解放开发者的 KPI 生产力。

特别鸣谢

以上就是今日"前端快讯"的全部内容了,感谢大家按赞跟转发分享本文,你的手动支持是我坚持创作的不竭动力喔。

已经关注我的粉丝们,我们下期再约啦,掰掰~~

参考文献

Vite 8 官方博客:vite.dev/blog/announ...

相关推荐
博客zhu虎康2 小时前
我的创作纪念日——五载创作路,以技术赴热爱
前端·经验分享·csdn·技术分享·我的创作纪念日
前端之虎陈随易3 小时前
Vite 8正式发布,内置devtool,Wasm SSR 支持
前端·人工智能·typescript·npm·node.js·wasm
AI_56783 小时前
基于智优达平台的Python教学实践:从环境搭建到自动评测
开发语言·前端·人工智能·后端·python
IT_陈寒3 小时前
JavaScript开发者必备的5个高效调试技巧,90%的人都不知道最后一个!
前端·人工智能·后端
嘉琪0013 小时前
前端数组核心方法(高级视角 + 场景 + 精简)——————2026 0309
开发语言·前端·javascript
jarvisuni3 小时前
GLM5实战测试,挑战Opus4.6 !
前端·数据库
颜酱3 小时前
二分图核心原理与判定算法
javascript·后端·算法
c++之路3 小时前
HTTP协议全解析:从原理到Web应用实战
前端·网络协议·http
Lee川3 小时前
从“DOM 操作”到“数据驱动”:Vue 如何重塑前端开发思维
前端·vue.js