website

SWC Docs

所属分类:开发者在线工具箱

SWC 官方文档:安装命令、预编译平台与 .swcrc 浏览器目标配置。

SWC Docs 是 SWC(Speedy Web Compiler)的官方文档站,说明如何安装 @swc/cli 与 @swc/core、如何用 .swcrc 配置文件设置编译选项,以及如何按目标浏览器决定需要转换的语法。入门页称,试用 SWC 最简单的方式是使用 Playground。

SWC Docs:安装 SWC 编译器,并用 .swcrc 设置目标浏览器

发布于 2026年10月18日更新于 2026年10月29日

安装与第一次编译

若要在本地使用,文档给出的命令是 `npm install -D @swc/cli @swc/core`,并提供 yarn、pnpm、bun 和 deno 的安装命令切换。安装后执行 `npx swc ./file.js`,编译结果会输出到标准输出(stdout)。

SWC 入门页,顶部为 Docs 与 Playground 入口,正文显示 npm install -D @swc/cli @swc/core 安装命令和 npx swc 示例

预编译二进制的平台

入门页的 Supported Binaries 部分列出预编译二进制文件,包括 Mac(Apple Silicon)、Mac(x64)、Linux(x86_64、aarch64 和 armv7)、Android(aarch64)以及 Windows(win32-x64 与 ia32)。Alpine Linux 需要另外安装 @swc/core-linux-musl。页面同时说明,SWC 也可以从源码构建。

用 .swcrc 设置目标浏览器

Supported Browsers 页面写明,从 v1.1.10 起可以使用 browserslist 自动配置支持的浏览器。页面示例是在 .swcrc 的 env 中设置 targets 为 chrome 79,mode 为 entry,coreJs 为 3.22。

targets 可以是 browserslist 查询字符串,例如 "> 0.25%, not dead",也可以是按环境列出最低版本的对象,例如 chrome 58 与 ie 11。未设置时,SWC 会通过 browserslist 获取目标信息。path 选项用于指定 browserslist 配置所在的目录,例如 .browserslistrc 或 package.json 中的 browserslist 字段,适合构建工具不在项目根目录的情况。

SWC 的 Supported Browsers 页面,顶部说明从 v1.1.10 起可用 browserslist 配置,正文给出 .swcrc 中 env 的 targets、mode 和 coreJs 示例

polyfill 模式与 core-js 版本

mode 可选 usage、entry 或不设置,页面说明它对应 Babel 的 useBuiltIns。页面也提醒,usage 模式目前不如 Babel 高效:例如 "foo""a" + "t" 这类表达式,SWC 不会计算拼接结果,因此不会包含 String.prototype.at 的 polyfill。

skip 选项用于跳过指定的 ES 功能,以减小包体积。coreJs 指定使用的 core-js 版本,文档建议写到次版本号(如 "3.22"),否则 "3" 会被当作 3.0 处理。未设置时,SWC 回退到 core-js@3.0.0。

文档目录与迁移指南

侧边栏分为 Usage(@swc/cli、@swc/core、Flow、@swc/wasm、@swc/jest、swc-loader、@swc/html 与 Bundling)、Configuration(.swcrc、Compilation、React Compiler、Supported Browsers、Modules 与 Minification)、Plugin 以及 Contributing 等部分。从 Babel 或 tsc 迁移的读者,可以分别查阅 Migrating from Babel 与 Migrating from tsc。