近日 Bun 官方发布了最新版本 v0.5.7 .
主要更新了以下内容
- FormData 支持;
- git 依赖项
- AbortSignal
- setTimeout 更新
- Bun test 升级
- AWS 表达式
- GitHub Action
准备
如果还未安装 Bun ,可以先进行安装
更新 Bun
更新说明:
FormData
Bun现在支持 FormData ,这是一个标准的Web API,用于在多部分上载中处理表单域和文件。您可以将 string 添加为字段或将 Blob 添加为文件。
还可以从 Request 或 Response 中解析 FormData 。
Bun 的 formData 与Nodejs、Deno 对比。
- 25x faster than Node v19.6.0 比Node v19.6.0快25倍
- 4x faster than Deno v1.30.3 比Deno v1.30.3快4倍
支持 Git Dependencies
Bun现在支持 package.json 中的 git 依赖项。Bun接受各种git依赖格式,包括 git 、 package.json 、 git+ssh 、 git+https 等等。
也可以使用 bun install 添加 git 依赖项。
标准化 setTimeout
Web标准 setTimeout() 是返回一个 number ,它表示一个超时ID。
Node.js中是返回一个 Timeout 对象,它具有类似于 ref() 和 unref() 的方法,但可以强制为 number 。
Bun 并未采用Nodejs的返回方式,而是使用了标准Web的方式。
另外增加了console.log 的输出样式。
fetch 增加 AbortSignal
现在可以使用 AbortSignal 取消 fetch() 请求。当从HTTP服务器接收到 Request 时,也可以使用 AbortSignal 。
bun test
新版本使用bun test 替换 bun wiptest
AWS Lambda
Bun现在可以使用自定义层运行AWS Lambda。
该层将检测事件何时是HTTP请求,并将其转换为标准的 Request 。这意味着您可以使用 bun run 在本地测试Lambda,而无需更改任何代码。
GitHub Action
新增了对 git 依赖项的支持,可以在GitHub CI中尝试一下,看看使用 bun install 可以节省多少时间。