概述
SWC 由 Rust 编写, 既可用于编译,也可用于打包。
对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。
SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。
简单来说swc实现了和babel一样的功能,但是它比babel快。
优势在于其高性能和低内存消耗,这源于 Rust 语言的性能优势。
swc官网 swc.rs/
npm i @swc/core
核心功能
-
JavaScript/TypeScript 转换 。可以将现代 JavaScript(ES6+)和 TypeScript 代码转换为兼容旧版 JavaScript 环境的代码。
-
模块打包。 SWC 提供了基础的打包功能,可以将多个模块捆绑成一个单独的文件。
-
SWC 支持代码压缩和优化功能,类似于 Terser。它可以对 JavaScript 代码进行压缩,去除不必要的空白、注释,并对代码进行优化以减小文件大小,提高加载速度。
-
SWC 原生支持 TypeScript,可以将 TypeScript 编译为 JavaScript。
-
SWC 支持 React 和 JSX 语法,可以将 JSX 转换为标准的 JavaScript 代码。它还支持一些现代的 React 特性。