- Esbuild 是一款超高速 JavaScript 和 TypeScript 打包器和编译器,使用 Go 语言编写。
- 它的特点是拥有惊人的构建速度,可以在毫秒级的时间内处理大型的项目,这大大提高了开发和构建的效率。
- Esbuild 这种从头到尾共享 AST 以及原生语言编写的 Minifier。
- 支持 Tree Shaking(消除未使用的代码),并能很好地处理现代 JavaScript 特性。
- 和 Webpack 或 Rollup 等打包工具相比,Esbuild 更注重速度,并且配置相对简单。
传统的方式都是使用 Terser 这种 JS 开发的压缩器来实现,在 Webpack 或者 Rollup 中作为一个 Plugin 来完成代码打包后的压缩混淆的工作。但 Terser 其实很慢,主要有 2 个原因。
- 压缩这项工作涉及大量 AST 操作,并且在传统的构建流程中,AST 在各个工具之间无法共享,比如 Terser 就无法与 Babel 共享同一个 AST,造成了很多重复解析的过程。
- JS 本身属于解释性 + JIT(即时编译) 的语言,对于压缩这种 CPU 密集型的工作,其性能远远比不上 Golang 这种原生语言。
8118

被折叠的 条评论
为什么被折叠?



