Nodejs 的"繼承者",Bun 發(fā)布 v0.5.7 !
近日 Bun 官方發(fā)布了最新版本 v0.5.7 .
主要更新了以下內(nèi)容
- FormData 支持;
- git 依賴項
- AbortSignal
- setTimeout 更新
- Bun test 升級
- AWS 表達(dá)式
- GitHub Action
準(zhǔn)備
如果還未安裝 Bun ,可以先進(jìn)行安裝
更新 Bun
更新說明:
FormData
Bun現(xiàn)在支持 FormData ,這是一個標(biāo)準(zhǔn)的Web API,用于在多部分上載中處理表單域和文件。您可以將 string 添加為字段或?qū)?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現(xiàn)在支持 package.json 中的 git 依賴項。Bun接受各種git依賴格式,包括 git 、 package.json 、 git+ssh 、 git+https 等等。
也可以使用 bun install 添加 git 依賴項。
標(biāo)準(zhǔn)化 setTimeout
Web標(biāo)準(zhǔn) setTimeout() 是返回一個 number ,它表示一個超時ID。
Node.js中是返回一個 Timeout 對象,它具有類似于 ref() 和 unref() 的方法,但可以強制為 number 。
Bun 并未采用Nodejs的返回方式,而是使用了標(biāo)準(zhǔn)Web的方式。
另外增加了console.log 的輸出樣式。
fetch 增加 AbortSignal
現(xiàn)在可以使用 AbortSignal 取消 fetch() 請求。當(dāng)從HTTP服務(wù)器接收到 Request 時,也可以使用 AbortSignal 。
bun test
新版本使用bun test 替換 bun wiptest
AWS Lambda
Bun現(xiàn)在可以使用自定義層運行AWS Lambda。
該層將檢測事件何時是HTTP請求,并將其轉(zhuǎn)換為標(biāo)準(zhǔn)的 Request 。這意味著您可以使用 bun run 在本地測試Lambda,而無需更改任何代碼。
GitHub Action
新增了對 git 依賴項的支持,可以在GitHub CI中嘗試一下,看看使用 bun install 可以節(jié)省多少時間。