關於本文件#

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

Node.js 是基於 V8 JavaScript 引擎所建構的 JavaScript 執行環境。

參與貢獻#

若發現本文件有誤,請於 問題追蹤系統 (issue tracker) 回報。有關如何提交合併請求 (pull request) 的說明,請參閱 貢獻指南

穩定性索引#

本文件各處均標示了該章節的穩定性。部分 API 因極為成熟且被廣泛依賴,幾乎不可能發生變更。其他 API 則可能尚處於全新或實驗階段,或已知具有潛在風險。

穩定性索引如下:

穩定性:0 - 已棄用。該功能可能會發出警告。不保證向後相容性。

穩定性:1 - 實驗性。該功能不受 語意化版本控制 (semantic versioning) 規則約束。在未來的任何版本中,可能會發生不相容的變更或移除。不建議在生產環境中使用此功能。

實驗性功能細分為以下階段:

  • 1.0 - 早期開發。此階段的實驗性功能尚未完成,且可能會發生重大變更。
  • 1.1 - 主動開發。此階段的實驗性功能已接近最小可行性。
  • 1.2 - 發布候選版本 (Release candidate)。此階段的實驗性功能預計已準備好進入穩定狀態。預計不會再有破壞性的變更,但仍可能因應使用者回饋或該功能的底層規範開發而進行調整。我們鼓勵使用者進行測試並提供回饋,以便我們確認該功能是否已準備好被標記為穩定。

實驗性功能通常會在畢業為穩定版本,或是在沒有棄用週期 (deprecation cycle) 的情況下被移除,從而結束其實驗狀態。

穩定性:2 - 穩定。與 npm 生態系統的相容性是首要考量。

穩定性:3 - 舊有 (Legacy)。儘管此功能不太可能被移除,且仍受語意化版本控制保證的涵蓋,但它已不再主動維護,且已有其他替代方案可用。

若某項功能的使用不會造成危害且在 npm 生態系統中被廣泛依賴,則會被標記為「舊有」而非「已棄用」。在舊有功能中發現的錯誤不太可能得到修復。

在使用實驗性功能時請務必謹慎,特別是在開發函式庫時。使用者可能未察覺到實驗性功能正在被使用。當實驗性 API 發生修改時,可能會導致使用者對錯誤或行為變更感到意外。為避免意外,使用實驗性功能可能需要搭配命令列旗標。實驗性功能也可能會發出 警告

穩定性概覽#

API穩定性
Assert (斷言)(2) 穩定
Async hooks(1) 實驗性
非同步內容追蹤(2) 穩定
Buffer(2) 穩定
子程序 (Child process)(2) 穩定
叢集(2) 穩定
Console(2) 穩定
Crypto(2) 穩定
除錯器(2) 穩定
診斷報告 (Diagnostic report)(2) 穩定
Diagnostics Channel(2) 穩定
DNS(2) 穩定
網域 (Domain)(0) 已棄用
事件(2) 穩定
檔案系統(2) 穩定
全域物件(2) 穩定
HTTP(2) 穩定
HTTP/2(2) 穩定
HTTPS(2) 穩定
檢查器(2) 穩定
反覆運算壓縮 (Iterable Compression)(1) 實驗性
可迭代串流 (Iterable Streams)(1) 實驗性
模組:CommonJS 模組(2) 穩定
模組:ECMAScript 模組(2) 穩定
模組:TypeScript(2) 穩定
Net(2) 穩定
Node-API(2) 穩定
OS(2) 穩定
Path(2) 穩定
效能測量 API(2) 穩定
Punycode(0) 已棄用
查詢字串 (Query string)(2) 穩定
Readline(2) 穩定
REPL(2) 穩定
單一可執行應用程式(1.1) 主動開發
SQLite(1.2) 發布候選版本
Stream(2) 穩定
字串解碼器(2) 穩定
測試執行器(2) 穩定
計時器(2) 穩定
TLS (SSL)(2) 穩定
追蹤事件(1) 實驗性
TTY(2) 穩定
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 及其他需要讀取本文件的工具使用。

系統呼叫與 man 手冊頁#

封裝了系統呼叫的 Node.js 函式會對此進行說明。文件中會連結至對應的 man 手冊頁,描述該系統呼叫的運作方式。

大多數 Unix 系統呼叫在 Windows 上都有對應的實現。不過,行為上的差異往往是不可避免的。