關於本文件#

歡迎查閱 Node.js 官方 API 參考文件!

Node.js 是一個基於 V8 JavaScript 引擎的 JavaScript 執行時。

貢獻#

請在問題跟蹤器中報告本文件的錯誤。關於如何提交拉取請求(pull request)的說明,請參閱貢獻指南

穩定性指數#

在整個文件中,都會標示出某個部分的穩定性。有些 API 已經過充分驗證且被廣泛依賴,因此基本不會發生任何變化。而另一些則是全新的實驗性功能,或者已知存在風險。

穩定性指數如下:

穩定性:0 - 已棄用。該特性可能會產生警告。不保證向後相容。

穩定性:1 - 實驗性。該特性不受語義化版本規則的約束。在未來的任何版本中都可能發生非向後相容的更改或被移除。不建議在生產環境中使用該特性。

實驗性特性被細分為以下幾個階段:

  • 1.0 - 早期開發。此階段的實驗性特性尚未完成,可能會有重大變更。
  • 1.1 - 積極開發。此階段的實驗性特性已接近最小可行性。
  • 1.2 - 候選釋出。此階段的實驗性特性有望準備好成為穩定功能。預計不會再有破壞性變更,但仍可能根據使用者反饋或其底層規範的演進而發生變化。我們鼓勵使用者進行測試並提供反饋,以便我們確認該特性是否已準備好被標記為穩定。

實驗性特性通常會透過升級為穩定版或在沒有棄用週期的情況下被移除,從而脫離實驗狀態。

穩定性:2 - 穩定。與 npm 生態系統的相容性是重中之重。

穩定性:3 - 遺留。儘管此特性不太可能被移除,並且仍然受語義化版本保證的覆蓋,但它已不再被積極維護,並且有其他替代方案可用。

如果某個特性的使用不會造成危害,並且在 npm 生態系統中被廣泛依賴,那麼它會被標記為“遺留”而不是“已棄用”。在遺留特性中發現的錯誤不太可能被修復。

在使用實驗性特性時請務必謹慎,尤其是在編寫庫時。使用者可能沒有意識到正在使用實驗性特性。當實驗性 API 發生修改時,錯誤或行為變更可能會讓使用者感到意外。為避免意外,使用實驗性特性可能需要一個命令列標誌。實驗性特性也可能會發出一個警告

穩定性概覽#

API穩定性
斷言 (Assert)(2) 穩定
非同步鉤子(1) 實驗性
非同步上下文跟蹤(2) 穩定
緩衝區(2) 穩定
子程序 (Child process)(2) 穩定
叢集(2) 穩定
控制檯(2) 穩定
加密(2) 穩定
診斷通道(2) 穩定
DNS(2) 穩定
(0) 已棄用
檔案系統(2) 穩定
HTTP(2) 穩定
HTTP/2(2) 穩定
HTTPS(2) 穩定
檢查器(2) 穩定
模組:node:module API(1) .2 - 候選釋出(非同步版本) 穩定性:1.1 - 積極開發(同步版本)
模組:CommonJS 模組(2) 穩定
模組:TypeScript(1) .2 - 候選釋出
作業系統(2) 穩定
路徑(2) 穩定
效能測量 API (Performance measurement APIs)(2) 穩定
Punycode(0) 已棄用
查詢字串 (Query string)(2) 穩定
逐行讀取(2) 穩定
REPL(2) 穩定
單一可執行檔案應用(1) .1 - 積極開發
SQLite(1) .1 - 積極開發。
(2) 穩定
字串解碼器(2) 穩定
測試執行器(2) 穩定
定時器(2) 穩定
TLS (SSL)(2) 穩定
跟蹤事件(1) 實驗性
TTY(2) 穩定
UDP/資料報套接字 (UDP/datagram sockets)(2) 穩定
URL(2) 穩定
工具 (Util)(2) 穩定
虛擬機器 (VM, 執行 JavaScript)(2) 穩定
Web Crypto API(2) 穩定
Web Streams API(2) 穩定
WebAssembly 系統介面 (WASI)(1) 實驗性
工作執行緒(2) 穩定
Zlib(2) 穩定

JSON 輸出#

每個 .html 文件都有一個對應的 .json 文件。這適用於 IDE 和其他使用該文件的工具。

系統呼叫和手冊頁#

對系統呼叫進行封裝的 Node.js 函式會對此進行說明。文件會連結到描述該系統呼叫工作原理的相應手冊頁(man page)。

大多數 Unix 系統呼叫都有對應的 Windows 版本。儘管如此,行為上的差異可能無法避免。