Repolode
swc-project

swc-project/swc

用 Rust 编写的超快速 TypeScript/JavaScript 编译器与解析器,可在 Rust 与 JavaScript 中使用。

可替代:Babel

Star
34,194
Fork
1,547
未关闭 Issue
413
最近提交
13小时前

这是什么?

SWC(Speedy Web Compiler)是一个用 Rust 编写的 TypeScript 与 JavaScript 编译器,能够解析、转换并输出现代 ECMAScript 和 TypeScript 代码。它既可以作为 Rust 库使用,也可以在 JavaScript 中通过 @swc/core 等 npm 包调用,Rust 用户则可以直接依赖 ECMAScript 解析器等独立 crate。

项目定位是替代 Babel 来编译 Web 代码,并提供了从 Babel 迁移的对比文档。npm 包为 x64 和 arm64 架构的 macOS、Windows MSVC 以及 Linux GNU 和 musl 提供原生二进制。使用时支持 Node.js 10 及以上版本,开发时需要 Node.js 20 及以上。

Rust crate 的最低支持版本为 1.73,并提供脚本用于批量更新项目中的 SWC crate。

核心功能

  • 01解析并编译使用现代 ECMAScript 语法编写的 TypeScript 和 JavaScript 代码。
  • 02既可作为 Rust 库通过独立 crate 使用,也可在 JavaScript 中通过 npm 包调用。
  • 03为 x64 和 arm64 架构的 macOS、Windows MSVC 以及 Linux GNU 和 musl 提供原生二进制。
  • 04提供从 Babel 迁移的指南以及与 Babel 的性能对比。

适用场景

  • 在 JavaScript 或 TypeScript 构建流程中替代 Babel,以加快编译速度。
  • 用 Rust 开发需要解析或转换 ECMAScript 代码的工具。
  • 为面向多个 Node.js 版本的 Web 项目编译 TypeScript 代码。

快速上手

  1. 1

    按照 swc.rs 网站上的安装指南,用于 JavaScript 场景

  2. 2

    在 Rust 中使用时,请阅读 rustdoc,并从 parser crate 入手

使用前须知

  • 开发该项目需要 Node v20 或更高版本。
  • Rust crate 的最低支持 Rust 版本为 1.73。

标签

常见问题

swc 是什么?
用 Rust 编写的超快速 TypeScript/JavaScript 编译器与解析器,可在 Rust 与 JavaScript 中使用。 SWC(Speedy Web Compiler)是一个用 Rust 编写的 TypeScript 与 JavaScript 编译器,能够解析、转换并输出现代 ECMAScript 和 TypeScript 代码。它既可以作为 Rust 库使用,也可以在 JavaScript 中通过 @swc/core 等 npm 包调用,Rust 用户则可以直接依赖 ECMAScript 解析器等独立 crate。
swc 可以免费使用吗?用的什么许可证?
swc 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
swc 还在维护吗?
活跃维护中。swc 最近一次提交是在 2026年10月21日。
swc 适合用来做什么?
在 JavaScript 或 TypeScript 构建流程中替代 Babel,以加快编译速度。 用 Rust 开发需要解析或转换 ECMAScript 代码的工具。 为面向多个 Node.js 版本的 Web 项目编译 TypeScript 代码。
swc 怎么安装和运行?
按照 swc.rs 网站上的安装指南,用于 JavaScript 场景 在 Rust 中使用时,请阅读 rustdoc,并从 parser crate 入手
在哪里获取 swc?
源代码和安装说明在 GitHub 上:https://github.com/swc-project/swc

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目