最近前端圈掀起了一阵 rust 风,凡是能用 rust 重写的前端工具就用 rust 重写,今天介绍的工具就是通过 rust 实现的 babel:swc,一个将 ES6 转化为 ES5 的工具。 而且在 swc 的官网,很直白说自己和 babel 对标,swc和babel命令可以相互替换,并且大部分的 babel 插件也已经实现。 使用rust 的一个优势就是快,比...
高性能:SWC 的主要优势在于其速度。由于使用 Rust 编写,SWC 在许多基准测试中表现出显著的性能提升,能够比 Babel 快 5 倍以上。 TypeScript 支持:SWC 支持 TypeScript 的解析和转译,使其成为 TypeScript 项目的理想选择。 插件系统:虽然 SWC 的生态系统相对 Babel 来说较小,但它仍然支持插件,允许开发者扩展其功...
在 Harmony 项目开发过程中除了 Mozilla 使用 SpiderMonkey 引擎开发的 Narcissus 转译器外,还有直到目前还在使用的 Babel 和TypeScript 语言的转译器。另外还有使用 rust 写的 js 编译器 swc,主打速度,打算来替代 babel。2015年,ECMAScript 2015发布。ECMAScript 2015 之后,由于各个浏览器都开始更快的迭代更新, TC39...
I was importing foo inside index.ts without the extension import foo from './foo' . The problem is SWC compiled it the same way, without the extension. When I run the demo, it gives an 404 error in the browser, since it can't find the file. If I import foo with '.ts' extension...
用的rust编写的js编译器,单核比babel快4倍,4核比babel快70倍,也可以用来打包js、ts代码,并且也拥有 tree shaking功能,它的默认的配置文件spack.config.js和webpack.config.js保持一致,@swc/cli故意与@babel/cli想同,看来野心非常大。 它的目标就是替换babel,目前它已经完成了babel的大部分功能,具体可以看对照...
尽管 Babel 仍然流行,但 swc 和 esbuild 已经被许多项目和元框架广泛使用。这些新工具可以显著提高构建和转译性能。swc 是一个更加模块化的选择,因为它提供了一个插件系统。Vercel 宣布了 Turbopack(alpha),这是一个新的非常快速的 Rust 捆绑器,Tobias Koppers(Webpack 的创造者)正在研究它。Rome 工具链...
尽管Babel 仍然流行,但 swc 和 esbuild 已经被许多项目和元框架广泛使用。这些新工具可以显著提高构建和转译性能。swc 是一个更加模块化的选择,因为它提供了一个插件系统。 Vercel 宣布了 Turbopack(alpha),这是一个新的非常快速的 Rust 捆绑器,Tobias Koppers(Webpack 的创造者)正在研究它。
用的rust编写的js编译器,单核比babel快4倍,4核比babel快70倍,也可以用来打包js、ts代码,并且也拥有 tree shaking功能,它的默认的配置文件spack.config.js和webpack.config.js保持一致,@swc/cli故意与@babel/cli想同,看来野心非常大。 它的目标就是替换babel,目前它已经完成了babel的大部分功能,具体可以看对照...
尽管Babel 仍然流行,但 swc 和 esbuild 已经被许多项目和元框架广泛使用。这些新工具可以显著提高构建和转译性能。swc 是一个更加模块化的选择,因为它提供了一个插件系统。 Vercel 宣布了 Turbopack(alpha),这是一个新的非常快速的 Rust 捆绑器,Tobias Koppers(Webpack 的创造者)正在研究它。
编译器从tsc和babel到swc和esbuild,编写语言从高级解释语言到更快的编译语言,编译器生态目前正处在一个很重要且巨大的转变过程中。 这样的转变让编译速度快了10 到 100 倍,下图来自 esbuild 官网。 如果你正在升级开发工具或者新启项目,可以尝试使用这些下一代的编译器。虽然成熟度不如 tsc 或 babel,但是近 100...