Speedy Web Compiler — Rust 实现的超快 TypeScript/JavaScript 编译器
33.9k stars | Rust | Apache-2.0 | 2017-12 | swc.rs
一句话定位
用 Rust 重写 Babel/TypeScript 编译器,速度提升 20-70x,Next.js、Parcel、Deno 等项目已切换至 SWC。
核心功能
- 编译:TypeScript → JavaScript,ES6+ → ES5,JSX 转换
- 压缩(Minification):替代 Terser,速度提升显著
- 打包(通过 swcpack):实验性 bundler
- 双端 API:Rust crate 直接使用 / Node.js npm 包(
@swc/core) - 插件系统:Rust 和 WASM 插件
与 Babel 对比
| 维度 | SWC | Babel |
|---|---|---|
| 语言 | Rust | JavaScript |
| 速度 | 20-70x | 基准 |
| 生态 | 较小 | 极成熟 |
| 插件 | Rust/WASM | JS |
| 适用 | 构建工具集成 | 复杂自定义转换 |
谁在用
- Next.js:默认 Rust 编译器
- Parcel:默认 JS 转换器
- Deno:内部使用
- Nx:monorepo 构建加速
安装
npm install --save-dev @swc/core @swc/cli
# 编译单文件
npx swc ./file.js -o output.js局限性
- 插件生态远不如 Babel 成熟
- 复杂的 Babel 插件迁移成本高
- swcpack(bundler)仍是实验性
关联页面
- markitdown — 另一个以速度为卖点的工具链项目