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