icodex | 前端技术博客 | 专注 React、TypeScript、AI 与性能优化 Blog
icodex - 个人网站
马上订阅 icodex | 前端技术博客 | 专注 React、TypeScript、AI 与性能优化 Blog RSS 更新: https://icodex.me/atom.xml
下一代前端工具链对比
在目前火热的 AI Coding 概念的背后,前端工具链生态也在蓬勃发展。目前新一代工具如Vite、Bun、 Rspack等已经不局限于只做Webpack那样的打包工具,而是围绕性能、开发体验和可扩展性构建完整的前端工具解决方案,各自形成了独特的技术路线与社区氛围。在这篇文章中,我将浅显得对比 Rspack、Vite 与 Bun 的生态布局,并在后续持续关注并更新这篇文章的内容。
Vite 生态
Vite 于 2020 年发布,当时主要是为了解决 Webpack 在大型项目中启动和热更新慢的问题。Vite 过去 5 年发展迅速,到现在已经攀升为了 No.1 的前端构建工具。

Vite 目前主要是由 VoidZero 公司成员维护,这家公司是尤雨溪在 2024 年创立,目前主要工作就是维护Vite、Vitest、Rolldown、OXC这些项目。VoidZero 的愿景是使用 Rust 开发语言重塑前端工具链。下面总结一下 VoidZero 基于 Rust 的生态工具以及目前的进展。

OXC
OXC,全称 JavaScript Oxidation Compiler,它是一个使用 Rust 语言开发的 JS 工具集合,包含 Parser(JS 代码解析), Linter(代码检查工具), Formatter(格式化工具), Transpiler(转译器), Minifier(代码压缩)等。
OXC 的工具全部使用 Rust 语言编写,旨在替代 Babel,Acorn 这一类传统的 JS 代码解析工具,极大地提升了解析和编译 JS 代码的速度。此类工具还有目前相对更加成熟的 SWC 。

oxc-parser
oxc-parser是一个代码解析器,它能够将.js、.jsx代码解析成符合estree规范的 AST,或者将.ts、.tsx代码解析成符合typescript-estree规范的 AST,可以在该官方提供的Playground中测试生成的 AST。
在oxc-parser提供的 benchmark 测试中显示出了卓越的性能,速度为目前使用更多的swc的 3 倍以上,具体请查看该仓库:bench-javascript-parser-written-in-rust.

oxc-walker
oxc-walker可以解析代码,并提供了一些方法用来遍历 AST 节点,节点类型可以从@oxc-project/types获取。如果你需要对 AST 进行遍历然后修改节点,可以使用这个工具。
import { parseAndWalk } from 'oxc-walker'
const nodes = []
parseAndWalk('console.log("hello world")', 'test.js', {
enter(node) {
nodes.push(node)
},
})
console.log(nodes)
剩余内容已隐藏
查看完整文章以阅读更多
剩余内容已隐藏