SWC
基于 Rust 的 Web 平台
SWC 是一个可扩展的基于 Rust 的平台,用于下一代快速开发者工具。它被 Next.js、Parcel 和 Deno 等工具使用,也被 Vercel、字节跳动、腾讯、Shopify、Trip.com 等公司使用,以及更多。
SWC 可以用于编译和打包。在编译方面,它使用现代 JavaScript 特性处理 JavaScript / TypeScript 文件,并输出所有主要浏览器都支持的有效代码。
🏎
SWC 在单线程上比 Babel 快 20 倍,在四核上快 70 倍。
开始使用 · Playground · 博客 · Rustdocs (opens in a new tab) · GitHub 仓库 (opens in a new tab) · 捐赠 (opens in a new tab)
概述
SWC 可以下载并使用预构建的二进制文件,也可以从源代码构建。目前提供了以下二进制文件:
- Mac (Apple Silicon)
- Mac (x64)
- Linux (x86_64)
- Linux (aarch64)
- Linux (armv7)
- Alpine Linux (还需安装
@swc/core-linux-musl
) - Android (aarch64)
- Windows (win32-x64)
- Windows (ia32)
下载预构建的二进制文件
pnpm add -D @swc/cli @swc/core
转译 JavaScript 文件并输出到 stdout
npx swc ./file.js
功能
SWC 被设计为可扩展的。目前支持以下功能:
- 编译
- 打包 (
swcpack
,开发中) - 压缩
- 使用 WebAssembly 进行转换
- 在 webpack 中使用 (
swc-loader
) - 提高 Jest 性能 (
@swc/jest
) - 自定义插件
了解更多。
社区
SWC 由 kdy1 (opens in a new tab) 创建。 关注 @kdy1dev (opens in a new tab) 获取未来的项目更新。