esbuild 0.9.0 已发布,此版本包含不向后兼容的变更。主要变化如下:
- 支持
package.json
文件中节点的exports
字段 (#187) - 删除
esbuild.startService()
API - 从
outputFiles
中删除metafile
(#633) - 扩展名
.mjs
和.cjs
不再是隐式状态 - 删除
--summary
flag (#704) - 将
--error-limit=
重命名为--log-limit=
- 删除被弃用的
--avoid-tdz
选项 - 从 Go API 删除
SpinnerBusy
和SpinnerIdle
- ……
esbuild 是 Go 编写的 JavaScript 打包和压缩工具,支持 TypeScript。
根据项目介绍中的 Benchmark 测试结果,在使用同一份代码 (three.js) 的情况下,esbuild 比其他打包工具(rollup / webpack / parcel 等)快了至少 100 倍。Vue.js 作者尤雨溪的新工具 Vite 也是基于 esbuild 转换库来添加对 TypeScript 的支持。
主要特性
- 速度极快,无需缓存
- 支持 ES6 和 CommonJS 模块
- 支持 Tree shaking
- 适用于 Go 和 JavaScript 的 API
- 支持 TypeScript 和 JSX 语法
- 生成 Source map
- 插件
- 加载器
- 压缩&打包
- ……
延伸阅读