Vite 6.0 发布了,但开发人员仍在等待由 Rust 驱动的流行构建工具的未来

Vite 6.0 发布了,但开发人员仍在等待由 Rust 驱动的流行构建工具的未来
2024年12月04日 19:10 InfoQ

作者 | Tim Anderson

译者 | 刘雅梦

策划 | Tina

Vite 6.0 是自一年前 Vite 5.0 发布以来的首次重大更新,虽然该团队声称这是自 2021 年 Vite 2.0 以来最重要的版本,但最大的变更还在后头。

用 Vue 6.0 构建的 Hello World 应用程序

Vite 是一个针对 JavaScript 和 TypeScript 的构建工具,旨在比其他选项更快、更高效。它的作用不仅仅是构建应用程序,因为 Vite 还包含了一个开发服务器,并支持热模块替换(HMR),能够在开发环境中修改代码并将这种更改反映到正在运行的应用程序中。

6.0 版本被描述为“自 2021 年 Vite 2 发布以来最重要的主版本”;但这并不是开发人员所期待的主要更新。新特性包括默认使用 Sass CSS 语言的现代 API,自定义 CSS 输出文件名的能力,以及支持实验环境 API 的内部重构。

目前,Vite 支持两种环境,一种用于在浏览器中运行应用程序,另一种用于服务器端渲染。在 Vite 6 中,使用实验环境 API,可以定义多个环境,以匹配不同的生产目标,包括在 Node.js 或 Cloudflare Workerd 上运行。它还提供了在多个不同环境中并发运行的功能。

不过,正如 Vite(和 Vue.js)的创建者 Evan You 在 10 月份的 ViteConf 上所解释的那样,还有更多的变更在进行中。You 表示,Vite 的未来基于四种工具,它们是:

  • 具有 HMR 和框架支持的 Vite 开发服务器

  • Vitest,Vite 的原生测试运行器

  • Rolldown,Rollup 打包器的替代品,用 Rust 编写

  • Oxc(Oxidation 编译器),被描述为一种语言工具链,它执行包括解析、linting、将 TypeScript 转换为 JavaScript 以及压缩代码在内的任务。Oxc 也是用 Rust 编写的

You 还宣布成立一家新公司 Void(0)(或 VoidZero),该公司正在构建“下一代 JavaScript 工具”,并获得了 460 万美元的种子资金。新公司拥有并控制着 Oxc 和 Rolldown,尽管它们仍然是 MIT 许可下的开源项目。

You 说,Vite 面临的挑战反映了更广泛的 JavaScript 生态系统的挑战——最初只是作为一种简单的脚本语言,现在被用于大型和复杂的应用程序。社区已经创建了一些工具来弥合 JavaScript 功能与当今用例需求之间的差距,包括 TypeScript、打包器、压缩器等。这是一个健康的社区,但也有缺点,包括碎片化、不兼容和效率低下。

Vite 本身有两个或三个大的依赖项。一个是 esbuild,一个用 Go 编写的打包器,用于转换 TypeScript、压缩代码和依赖项预打包。另一个是 Rollup,用于生产打包器、插件支持和摇树(tree-shaking,死代码消除)。第三个可选的依赖项是 SWC,另一个 JavaScript/TypeScript 编译器,通常用于 React 应用程序。

You 说,使用这些具有重叠功能的各种工具会引入“由于行为不同而导致的微妙错误”,并且由于代码在它们之间来回传递,会导致管道效率低下。

尚未实现:Evan You 于 10 月在 ViteConf 上介绍了 Vite 的未来

You 所预见的未来是带有 Rolldown 和 Oxc 的 Vite,他称之为“统一的工具链”,它将更快、更可靠。

这个未来仍然很遥远。下一步可能是明年某个时候推出 Rolldown 的测试版。

Vite 很受欢迎。据该团队称,自去年发布 Vite 5 以来,npm 注册表的下载量从每周 750 万次增加到 1700 万次。开发人员喜欢它的性能,而且它相对易于使用。不过它也有竞争对手,包括来自 Vercel 的 Turbopack,它也是用 Rust 编写的——尽管 You 反驳了 Vercel 声称它比 Vite 快 10 倍的说法。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部