Node.js 13.0 正式發佈

近日,Node.js 13.0 在 GitHub 上正式發佈,同時 12.x 版本轉入了長期支持階段(LTS)。雖然 13.0 版本還並未進入 LTS,但在構建、控制檯、域等諸多方面進行了“重大更改”。本文主要對 Node.js 13.0 的更新內容進行了梳理,希望能給正在瞭解 Node.js 最新版本的讀者帶來幫助。

重大更改

斷言:

  • 如果傳遞給 assert.throws() 或 assert.rejects() 的驗證函數返回非 true 的值,則將拋出斷言錯誤來高亮顯示編程錯誤,替代原來的錯誤信息(Ruben Bridgewater)#28263。
  • 如果傳遞了構造函數來驗證 assert.throws() 或 assert.reject() 拋出的錯誤實例,將拋出斷言錯誤,替代原來的錯誤信息(Ruben Bridgewater)#28263。

構建:

  • 新的 Node.js 版本默認支持完整 icu。這意味着新版包含了 ICU 支持的所有語言環境,並且與 Intl 相關的 API 會返回與之前不同的值(Richard Lau)#29887。
  • macOS 支持的最低 Xcode 版本已提升到 10。仍然可以使用 Xcode 8 構建 Node.js,但在 v13.x 未來版本中可能就不再支持了(Michael Dawson)#29622。

child_process:

  • ChildProcess._channel(DEP0129)現在是棄用的運行時(cjihrig)#27949。

控制檯:

  • 現在輸出 console.timeEnd() 和 console.timeLog() 會自動選擇合適的時間單位,不再一直使用毫秒了(Xavier Stouder)#29251。

deps:

  • V8 引擎已更新到 7.8 版。新版提升了對象解構的性能、改善了內存使用並縮短了 WebAssembly 啓動時間(Myles Borins)#29694。

域:

  • 現在域的錯誤處理工作時會將活動域設置爲域的父級,以防止內部遞歸(Julien Gilli)#26211。

fs:

  • 移除了未記錄的方法 FSWatcher.prototype.start()(Lucas Holmquist)#29905。
  • 現在在 ReadStream 或 WriteStream 上調用 open() 方法會發出一個運行時棄用警告。這些方法應該是內部的,不應由用戶代碼調用(Robert Nagy)#29061。
  • fs.read/write、fs.readSync/writeSync 和 fd.read/write 現在接受任何安全整數作爲其 offset 參數。offset 的值也不是強制的,因此必須將有效的類型傳遞給函數(Zach Bjornson)#26572。

http:

  • 中止的請求在 aborted 後不再發出 end 或 error 事件(Robert Nagy)#27984,#20077。
  • 套接字錯誤後將不再發出數據(Robert Nagy)#28711。
  • 舊版 HTTP 解析器(以前在 --http-parser=legacy 標誌下面)已移除(Anna Henningsen)#29589。
  • 現在已將 HTTP 請求的 host 選項驗證爲字符串值(Giorgos Ntemiris)#29568。
  • 現在 request.connection 和 response.connection 屬性都是棄用的運行時。應該使用等效的 request.socket 和 response.socket(Robert Nagy)#29015。

http,http2:

  • 默認服務器超時已移除(Ali Ijaz Sheikh)#27558。
  • 425 狀態代碼名稱已符合 RFC8470。名稱從“Unordered Collection”改爲“Too Early”(Sergei Osipov)#29880。

lib:

  • error.errno 屬性現在將始終是數字。要獲得字符串值,請改用 error.code(Joyee Cheung)#28140。

模塊:

  • module.createRequireFromPath() 已棄用。請改用 module.createRequire()(cjihrig)#27951。

src:

  • 現在,更改 process.env.TZ 的值將清除 tz 緩存。這將影響一些方法使用的默認時區,如 Date.prototype.toString(Ben Noordhuis)#20026。

流:

  • 流的時序和行爲在許多方面做出了改進和增強。請查看下面對應的各個提交以獲取更多信息。

原文鏈接:https://github.com/nodejs/node/releases/tag/v13.0.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章