Node.js v14 官方發佈說明來了

翻譯:瘋狂的技術宅

做者:Michael Dawson & Bethany Griggshtml

https://medium.com/@nodejs/no...前端

未經容許嚴禁轉載node

本文由Michael Dawson 和 Bethany Griggs撰寫,同時 Node.js 社區委員會和 Node.js 技術指導委員會也提供了貢獻。git

image.png

咱們很高興地宣佈,Node.js 14已於今天發佈!此版本的重點包括改進的診斷功能、V8 的升級、實驗性的異步本地存儲 API、流 API 的強化、實驗模塊警告的刪除以及一些已過期的 API 的刪除。程序員

Node.js 14 取代了 Node.js 13 做爲咱們當前的發行版本。根據發佈時間表(https://github.com/nodejs/Rel...,Node.js 14 是將來 6 個月的 Current 版本,到 2020 年 10 月再升級爲長期支持版(LTS) 。企業用戶應該等到 10 月將 Node.js 升級爲 LTS 時,再將其用於生產部署。但如今是用 Node.js 14 測試你的程序並嘗試新功能的最佳時間。github

提醒一下 —— Node.js 12 和 Node.js 10 將分別保持長期支持,直到 2022 年 4 月和 2021 年 4 月(有關LTS策略的更多詳細信息,請查看這裏))。面試

馬上開始!在這裏瞭解如何下載最新版本: https://nodejs.org/en/downloa...npm

在深刻了解這一版本的新功能以前,請務必注意,添加到主版中的新功能會迅速流入當前版本。這意味着重要功能能夠在次要版本中使用。咱們想借此機會重點介紹 Node.js 14 版本中的某些功能,即便它們可能已經被移植到較早的版本中了。segmentfault

診斷報告變得穩定

診斷報告將會在 Node.js 14 中做爲穩定功能發佈(在 Node.js 12 中做爲實驗性功能添加)。這是項目正在進行的工做中的重要一步,目的是創建使用 Node.js 時可用的診斷程序並改進它們的易用性,其中大部分工做由 Node.js 診斷工做組推動。api

診斷報告功能使你能夠按需或在某些事件發生時生成報告。該報告包含有助於診斷生產中的問題的信息,包括崩潰、性能下降、內存泄漏、CPU 使用率高、意外錯誤等。有關診斷報告功能的更多信息,請參閱 https://medium.com/the-node-j...。做爲一項穩定的功能,啓用診斷報告所需的命令行選項將會少一些,而且用戶應該更容易在生產環境中啓用診斷報告。

V8 升級到 V8 8.1

與往常同樣,新版本的 V8 JavaScript 引擎帶來了性能調整和改進,並使 Node.js 與語言和運行時方面的不斷改進保持了一致。並且 V8 的版本 8(「V8 of V8」)的命名還帶來了一些樂趣。

Highlights of the new JavaScript features include:

新的 JavaScript 功能的重點包括:

  • 可選鏈 — MDN
  • Nullish 合併—MDN
  • Intl.DisplayNamesMDN
  • Intl.DateTimeFormat 啓用 calendarnumberingSystem 選項—MDN

有關 V8 中新功能的更多信息,請查看 Node.js V8 博客:https://v8.dev/blog.

實驗性異步本地存儲API

該項目一直在致力於幫助管理多個版本之間的異步調用上下文的 API。實驗性 Async Hooks API 在較早的版本中進行了介紹。Async Hook 的關鍵用例之一是異步本地存儲(也稱爲連續本地存儲)。已經有許多 npm 模塊提供了可以知足這種需求的 API ,可是多年來,這些模塊很難在 Node.js 內核以外進行維護;而且該項目已經達成了共識,即讓 Node.js 提供 API 會更合理。 14.x 版本帶來了實驗性的 Async Local storage API(也已反向移植到了 13.10)https://nodejs.org/api/async_...。咱們正在尋找能夠試用此 API 的社區,並向咱們提供有關抽象模型、API接口、用例覆蓋範圍、功能穩定性、命名、文檔等方面的反饋,以便咱們能夠在之後的版本中將其脫離實驗性。提供反饋的最佳方法是在此處(https://github.com/nodejs/dia...)的提出打開一個問題,並使其標題名爲「Experience report with AsyncLocalStorage API」。

此版本包含一些在 Node.js Streams 實現中標記爲 SemVer major 的更改。這些更改旨在提升 Streams API 的一致性,以消除歧義並簡化 Node.js 核心各個部分的行爲。例如,http.OutgoingMessagestream.Writablenet.Socket 的行爲徹底相同於 stream.Duplex。一個顯著的變化是 autoDestroy 選項如今默認設置爲 true,使流在結束後始終調用 _destroy。儘管咱們不認爲這些 SemVer 的重大更改會影響大多數程序,由於它們只會更改邊緣狀況,可是若是你嚴重依賴 Stream,最好在 Node.js 14 是當前版本時進行測試,以便爲將來的發佈作好準備。 Node.js 14 將會在 2020 年 10 月成爲 LTS。

實驗性 Web Assembly 系統接口

用 Web Assembly 編寫的 Node.js 包爲某些用例帶來了更好的性能和跨平臺支持的機會。 14.x 版本包含 Web 程序集系統接口(WASI)的實驗性實現,以幫助支持這些用例。儘管對 Node.js v14 來講並非新事物,但這是值得注意的,由於 WASI 有潛力顯著簡化本機模塊的體驗。你能夠在 API 文檔中瞭解有關它的更多信息:https://nodejs.org/api/wasi.html

移除實驗模塊警告

在 Node.js 13 中,咱們再也不須要包含 - experimental-modules 標誌,可是在 Node.js 中運行 EcmaScript Modules 仍然會產生警告 ExperimentalWarning: The ESM module loader is experimental

從 Node.js 14 開始,在 Node.js 中使用 ESM 時再也不出現此警告。可是 Node.js 中的 ESM 實現仍處於試驗階段。根據咱們的穩定性指數:「該功能不受語義版本控制規則的約束。向後兼容的更改或刪除可能會在未來的任何版本中發生。」在生產環境中使用該功能時,用戶應保持謹慎。

請記住,Node.js 中 ESM 的實現不一樣於你熟悉的開發經驗。大多數轉換工做流都支持 Node.js ESM 實現不支持的功能,例如可選文件擴展名或 JSON 模塊。來自轉譯環境的模塊極可能須要必定程度的重構才能在 Node.js 中工做。值得一提的是,咱們的許多設計決策都是有兩個主要目標的。規範合規性和 Web 兼容性。咱們相信,當前的實現爲編寫 ESM 模塊提供了將來的證實模型,該模塊爲走向通用 JavaScript 鋪平了道路。請在文檔中閱讀更多內容。

Node.js 中的 ESM 實現仍處於試驗階段,但咱們相信,咱們已經很是接近可以在 Node.js 中把 ESM 稱爲「穩定」狀態。消除警告是朝這個方向邁出的重要一步。

新的編譯器和平臺最低要求

Node.js 爲多種不一樣的平臺提供了預構建的二進制文件。對於每一個主要版本,在適當的狀況下都會進行評估並提出最少的工具鏈。

此版本在 macOS 上不會對舊版本的 macOS Node.js 用戶產生負面影響。對於Node.js 14,咱們將最低的 macOS 目標版本提升到了 macOS 10.13(High Sierra)。

在基於 Linux 的平臺上,對於 Node.js 14,最低 GCC 版本仍爲 GCC 6,可是咱們計劃爲某些使用 GCC 8 的平臺構建併發布二進制文件。

Node.js 14 也不會在壽命終止的 Windows 發行版上運行。

有關更多詳細信息,請參見 Node.js BUILDING.md

呼籲行動

在進入 「current」 階段的 6 個月中,Node.js 14 將得到爲 Node.js 貢獻的最新功能。在接下來的6個月中,此發行版本很是適合嘗試最新功能、測試項目與最新 Node.js 更新的兼容性,並提供反饋,所以該發行版準備在 10 月過渡到 LTS。

要下載,請訪問:https://nodejs.org/en/downloa...

謝謝!

咱們想借此機會對全部促成此版本發佈的貢獻者和 Node.js 合做者表示很是感謝。咱們還要感謝 Node.js 構建工做組 確保咱們擁有建立和測試發行版的基礎架構,並對 Node.js 14 的工具鏈進行必要的升級。

Node.js v14.0.0 的發佈者是Bethany Griggs。你能夠在 v14.0.0 release(https://github.com/nodejs/nod...)中查看完整的功能列表。


本文首發微信公衆號:前端先鋒

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎繼續閱讀本專欄其它高贊文章:


相關文章
相關標籤/搜索