vite 8 发布,双引擎时代结束,webpack 的时代真的快过去了

大家好,我是 Sunday。

昨天很多人还在聊 AI,今天前端圈又来了一发大的。

Vite 8,正式发布了。

尤雨溪称这次升级是 Vite 2 以来最重要的一次架构变化 。特别是在 生产环节

Vite 8 这次升级最重要的是什么?

总结一句话:Vite 8 这次升级最重要:是工具链统一。

熟悉 Vite 的同学都知道,Vite 之前一直是 "开发走 esbuild、生产走 Rollup",这就导致生产环境下的打包非常慢,但是这次 vite8 的更新,全部统一成了 基于 Rolldown 的单一 Rust bundler 。官方给出的数据是,构建速度最高可达到 10~30 倍提升

Rolldown 是 VoidZero 团队做的 Rust bundler。

他的特点大家可以理解为:

  1. 性能高
  2. 兼容 Rollup/Vite 的插件生态
  3. 打开过去双引擎架构做不到的一些能力,比如更灵活的 chunk 切分、持久化缓存、Module Federation 等。

并且最重要的是 Rolldown 是尤雨溪自家开的。。。

所以,vite 底层彻底统一成 Rolldown 大家也可以理解为,尤雨溪真正开始 统一的前端构建底座

另外,我觉得官方在这次发布里提到两件事,挺有意思。

  • 第一件事是:Vite 现在每周下载量已经到了 6500 万次
  • 第二件事是:他们上线了一个新的 plugin registry ,也就是 registry.vite.dev,用来集中检索 Vite、Rolldown、Rollup 的插件生态,并且每天从 npm 拉数据更新。就是下面这个东西

这两个信息放一起看,味道就很明显了。以前我们说 Vite 火,是因为它是"一个流行工具"。

现在再看,Vite 已经越来越像一个:以 Vite 为入口,Rolldown 为 bundler,Oxc 为 compiler 的统一工具链生态。

这也是官方在文里讲的 "Unified Toolchain"。

这个词挺值钱的。

因为当一个工具开始形成统一底座,它后面就不再只是跟 Webpack、Rspack、Parcel 这些工具横向竞争了。它是在争"生态入口"。

谁掌握入口,谁就更容易掌握插件规范、能力边界、生态扩张速度,甚至未来 AI coding 场景下的开发工作流接口

Vite 8 新增了哪些实用功能?

除了底层换成 Rolldown,这次还有几项非常值得关注的功能。

1、内置 Devtools 支持

Vite 8 提供了 devtools 配置项,用来启用 Vite Devtools。官方文档里标注这项能力目前是 experimental ,默认关闭,而且当前只支持 build mode

2、浏览器 console 可以直通终端了

这个我觉得特别有意思。

Vite 8 新增了 server.forwardConsole,可以把浏览器运行时的 console 日志和未处理错误,直接转发到 Vite 服务端终端。

并且更有意思的是:当检测到 AI coding agent 时,这个功能会自动开启 !

啥叫与时俱进哦。。。

尤雨溪已经开始为 AI 辅助开发的场景做适配了。。

3、原生支持 tsconfig paths

以前很多项目都会上 vite-tsconfig-paths 之类的插件。

现在 Vite 8 提供了 resolve.tsconfigPaths,设为 true 就能直接读取 tsconfig.json 里的 paths 来解析别名。默认值是 false

这个改动对很多团队来说很实用,特别是 Monorepo 或路径别名多的项目。

ts 复制代码
import { defineConfig } from 'vite'

export default defineConfig({
  resolve: {
    tsconfigPaths: true,
  },
})

但这里也要注意,官方文档明确提醒:这个能力有性能成本。 所以不是"能开就开",得要根据项目情况来。

4、emitDecoratorMetadata 内置支持

Vite 8 增加了对 TypeScript emitDecoratorMetadata 的内置自动支持。

不过官方文档也写得很清楚:这是部分支持,因为完整支持,需要依赖 TypeScript 编译器的类型推断,而这部分目前并不支持。

5、Wasm SSR 支持补齐

官方提到,.wasm?init 现在可以在 SSR 环境里工作。

这个对一般业务同学可能体感没那么强,但对一些更重性能、更偏底层能力的方向是好事,比如:

  • 图像处理
  • 音视频处理
  • 高性能数据计算
  • 编辑器类产品
  • 某些 AI 前端推理场景

React 用户也得看:@vitejs/plugin-react v6 一起发了

这次 Vite 8 发布的同时,@vitejs/plugin-react v6 也一并发布了。官方提到:

  • React Refresh transform 现在由 Oxc 处理
  • Babel 不再是该插件的依赖
  • 安装体积更小
  • 如果你仍然需要 Babel,可以自己引入 @rolldown/plugin-babel
  • 如果你需要 React Compiler,可以配合 reactCompilerPreset 使用([vitejs][1])

这意味着 React 项目升级到 Vite 8 之后,默认链路会更轻。

但同时也意味着:你以前把 Babel 相关能力直接塞进 plugin-react 配置里的写法,要开始调整了。

官方给的迁移思路

Vite 官方对这次升级迁移方案:

其中最重要的一点就是:

对于复杂项目,可以先在 Vite 7 下切到 rolldown-vite,把问题先隔离在"Rolldown 兼容性"层面,再升级到 Vite 8。这样更容易分清问题到底来自 bundler 变化,还是来自 Vite 8 其他变化所导致的。

写在最后

最后给大家总结了一下 vite 的关键更新,不需要@元宝总结了😂

这次的更新一共就是下面这些,同时如果你在最近的面试中遇到 vite8 的问题,也可以直接拿过来说

Vite 8 最大的变化不是某个 API,而是底层从过去开发依赖 esbuild、生产依赖 Rollup 的双引擎模式,切到了以 Rolldown 为核心的统一 bundler 架构。

这样做的价值主要有三点:

  • 第一是构建性能提升
  • 第二是减少开发和生产链路不一致
  • 第三是为后续更强的缓存、分包、生态能力打基础。

与此同时,Vite 8 还补充了 tsconfig paths、console 转发、Wasm SSR、React 插件轻量化等能力,但升级时仍要重点关注 Node 版本、Babel 定制和装饰器相关兼容性。

最后,再补充一点,那就是:

Vite 8 终于开始把前端构建这件事,从多个工具拼起来的工具,变成了一个 统一底座并且可以持续升级 的工具链。

后面的前端工具链,拼的不只是速度,而是谁能把 bundler、compiler、插件生态、开发体验,甚至 AI coding 场景下的调试链路,真正统一起来。

从这个角度看,Vite 8 不是一次普通升级。它更像是一个信号:

前端工程化的下一阶段,已经开始了。

相关推荐
xixixin_2 小时前
【CSS】Ant Design 按钮点击时文字位移问题
前端·javascript·html
青柠代码录2 小时前
【Vue3】SCSS 进阶篇
前端·scss
用户12589343139602 小时前
边框渐变色的代码实现
前端
Csvn2 小时前
使用 React Hooks 优化组件性能的 5 个技巧
前端·javascript·react.js
weixin199701080162 小时前
开山网商品详情页前端性能优化实战
java·前端·python
HelloReader2 小时前
Flutter 状态管理实战搭建维基百科阅读器项目
前端
掘金者阿豪2 小时前
Joplin笔记告别局域网高效办公就靠cpolar
前端·后端
i建模2 小时前
npm国内镜像源加速
前端·npm·node.js
恋猫de小郭2 小时前
Cursor 自己做了模型 PK ,Cursor 里哪个模型性价比最高?
前端·人工智能·ai编程