核心功能
使用指南
- 1
访问 https://swc.rs 阅读文档,确认本地 Node.js 与包管理器版本。
- 2
在项目目录执行 pnpm add -D @swc/cli @swc/core 安装命令行与核心包。
- 3
新建 .swcrc 配置文件,按需设置 jsc.target、module 类型等编译选项。
- 4
运行 npx swc ./file.js 转换单个文件,加 -d 参数可输出到指定目录。
- 5
编译整个源码目录:npx swc src -d dist,把编译结果写入 dist 目录。
- 6
需要压缩时在 .swcrc 中开启 minify,或使用 -C minify=true 参数。
- 7
在 webpack 或 Rspack 项目中用 swc-loader 替换 babel-loader 加快构建。
- 8
在 Jest 项目中把 transform 改为 @swc/jest,缩短测试运行耗时。
- 9
打开官网 Playground 粘贴代码,观察不同目标环境下的编译输出差异。
优势亮点
单线程比 Babel 快 20 倍、四核快 70 倍,缩短本地构建与 CI 流水线耗时。
已被 Next.js、Parcel、Deno 采用,swc-loader 可直接替换 babel-loader。
编译、压缩、打包、WebAssembly 转换与插件扩展集中在一套工具内。
提供 Mac、Linux、Alpine、Android、Windows 等预编译二进制,安装门槛低。
使用须知
定价: SWC 以 MIT 许可开源,命令行、核心包与官方插件均可免费使用,不收取授权费用,作者通过 GitHub Sponsors 与捐赠渠道获得支持。企业如需商业级技术支持或定制插件开发,需自行与维护方沟通,具体条款以官网定价为准。个人开发者与初创团队直接使用开源版本即可满足日常构建需求;大型团队建议先评估内部插件维护成本再决定投入方式。
价格和授权政策可能变化,请以官网最新信息为准
访问第三方网站时,请注意以下事项:
- 谨慎提供个人账号、密码和支付信息
- 下载文件前确认来源安全,警惕诱导性广告
- 涉及版权素材使用时,请核实授权范围
- 如遇网站无法访问或内容异常,可反馈给我们
常见问题
深度了解
SWC 是一个用 Rust 编写的 Web 开发工具平台,定位为下一代快速开发者工具的底层编译引擎。它与 Babel 处理同一类任务,即把 JavaScript 和 TypeScript 代码转译成目标环境可运行的产物,区别在于实现语言换成 Rust,并在此基础上扩展出压缩、打包与插件能力。
功能方面,SWC 支持 JavaScript 与 TypeScript 编译、代码压缩、模块打包、WebAssembly 转换,可通过自定义插件扩展转换流程,也提供 swc-loader 与 @swc/jest 分别接入 webpack 和 Jest。安装时执行 pnpm add -D @swc/cli @swc/core,配置 .swcrc 后运行 npx swc src -d dist 即可完成目录编译,官网 Playground 可在线查看编译输出。
使用场景集中在三类:一是 webpack、Rspack 等构建工具中替换 babel-loader,缩短冷启动时间;二是 Node.js 项目中直接转译 TypeScript,省去额外编译步骤;三是替换 babel-jest 加快单元测试。Next.js、Parcel、Deno 已将其作为编译内核,Vercel、字节跳动、腾讯、Shopify、Trip.com 等公司在生产环境使用。
竞品对比上,Babel 插件生态最成熟,但速度受限于 JavaScript 运行时;esbuild 用 Go 实现,打包速度突出,插件体系和语法覆盖相对有限;Oxc 起步较晚,生态仍在建设中。SWC 的路线是兼顾编译与打包,把插件机制做成可扩展层,同时通过已有工具链集成降低迁移成本,官方基准显示单线程比 Babel 快 20 倍,四核下快 70 倍。
人群建议:前端工程师、Node.js 后端开发者、构建工具维护者和开源库作者可以优先尝试;项目如果高度依赖 Babel 现成插件,迁移前需要评估插件替代方案;追求打包极致速度且插件需求简单的项目,可以把 esbuild 作为对照方案后再决定。
用过SWC?说说你的真实体验
你的点评会帮助上千万人避坑选型——匿名发表,无需注册,30 秒即可完成
用户评价
还没有评分
成为第一个评价 SWC 的人
我的评分
随下方评论一并提交