SWC #
什么是 SWC? #
SWC(Speedy Web Compiler)是一个用 Rust 编写的超快速 JavaScript/TypeScript 编译器。它可以在单个线程上以比 Babel 快 20 倍的速度编译代码,并且支持代码压缩和打包功能。
核心定位 #
text
┌─────────────────────────────────────────────────────────────┐
│ SWC │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 超快编译 │ │ Rust 编写 │ │ Babel 兼容 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 代码压缩 │ │ 打包功能 │ │ 插件系统 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
为什么选择 SWC? #
优势 #
text
✅ 极致性能
- Rust 实现
- 多线程支持
- 比 Babel 快 20 倍
✅ 功能完整
- JavaScript/TypeScript 编译
- JSX 转换
- 代码压缩
- 打包功能
✅ Babel 兼容
- 支持大部分 Babel 插件功能
- 平滑迁移路径
- 生态兼容
✅ 框架集成
- Next.js 内置
- Parcel 内置
- Vite 插件
快速开始 #
安装 #
bash
npm install --save-dev @swc/core @swc/cli
基本使用 #
bash
# 编译文件
npx swc input.js -o output.js
# 编译目录
npx swc src -d dist
配置文件 #
json
{
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": true
},
"target": "es2020"
},
"module": {
"type": "es6"
}
}
文档结构 #
text
SWC 文档
├── 入门基础
│ ├── SWC 简介
│ ├── 安装与配置
│ ├── 命令行工具
│ └── 配置文件
│
├── 核心功能
│ ├── 编译配置
│ ├── 代码压缩
│ ├── 打包功能
│ └── Source Map
│
└── 高级特性
├── 插件开发
├── 工具集成
├── 性能优化
└── 高级配置
SWC vs Babel #
| 特性 | SWC | Babel |
|---|---|---|
| 性能 | 极快 | 较慢 |
| 语言 | Rust | JavaScript |
| 插件 | Wasm | JavaScript |
| 生态 | 发展中 | 成熟 |
| 配置 | 类似 | 类似 |
学习路径 #
text
入门阶段
├── SWC 简介
├── 安装与配置
├── 命令行工具
└── 配置文件
进阶阶段
├── 编译配置
├── 代码压缩
├── 打包功能
└── Source Map
高级阶段
├── 插件开发
├── 工具集成
├── 性能优化
└── 高级配置
下一步 #
现在你已经了解了 SWC 的基本概念,接下来学习 SWC 简介,开始使用超快的 JavaScript 编译器!
最后更新:2026-03-29