Node.js v25.0.0 文件
- Node.js v25.0.0
-
目錄
- 全域性物件
- 類:
AbortController - 類:
Blob - 類:
Buffer - 類:
ByteLengthQueuingStrategy __dirname__filenameatob(data)- 類:
BroadcastChannel btoa(data)clearImmediate(immediateObject)clearInterval(intervalObject)clearTimeout(timeoutObject)- 類:
CloseEvent - 類:
CompressionStream console- 類:
CountQueuingStrategy - 類:
Crypto crypto- 類:
CryptoKey - 類:
CustomEvent - 類:
DecompressionStream ErrorEvent- 類:
Event - 類:
EventSource - 類:
EventTarget exportsfetch- 類:
File - 類:
FormData global- 類:
Headers localStorage- 類:
MessageChannel - 類:
MessageEvent - 類:
MessagePort module- 類:
Navigator navigator- 類:
PerformanceEntry - 類:
PerformanceMark - 類:
PerformanceMeasure - 類:
PerformanceObserver - 類:
PerformanceObserverEntryList - 類:
PerformanceResourceTiming performanceprocessqueueMicrotask(callback)- 類:
ReadableByteStreamController - 類:
ReadableStream - 類:
ReadableStreamBYOBReader - 類:
ReadableStreamBYOBRequest - 類:
ReadableStreamDefaultController - 類:
ReadableStreamDefaultReader require()- 類:
Response - 類:
Request sessionStoragesetImmediate(callback[, ...args])setInterval(callback, delay[, ...args])setTimeout(callback, delay[, ...args])- 類:
Storage structuredClone(value[, options])- 類:
SubtleCrypto - 類:
DOMException - 類:
TextDecoder - 類:
TextDecoderStream - 類:
TextEncoder - 類:
TextEncoderStream - 類:
TransformStream - 類:
TransformStreamDefaultController - 類:
URL - 類:
URLPattern - 類:
URLSearchParams - 類:
WebAssembly - 類:
WebSocket - 類:
WritableStream - 類:
WritableStreamDefaultController - 類:
WritableStreamDefaultWriter
- 類:
- 全域性物件
-
索引
- 斷言測試
- 非同步上下文跟蹤
- 非同步鉤子
- 緩衝區
- C++ 外掛
- 使用 Node-API 的 C/C++ 外掛
- C++ 嵌入器 API
- 子程序
- 叢集
- 命令列選項
- 控制檯
- 加密
- 偵錯程式
- 已棄用的 API
- 診斷通道
- DNS
- 域
- 環境變數
- 錯誤
- 事件
- 檔案系統
- 全域性物件
- HTTP
- HTTP/2
- HTTPS
- 檢查器
- 國際化
- 模組:CommonJS 模組
- 模組:ECMAScript 模組
- 模組:
node:moduleAPI - 模組:包
- 模組:TypeScript
- 網路
- 作業系統
- 路徑
- 效能鉤子
- 許可權
- 程序
- Punycode
- 查詢字串
- 逐行讀取
- REPL
- 報告
- 單一可執行檔案應用
- SQLite
- 流
- 字串解碼器
- 測試執行器
- 定時器
- TLS/SSL
- 跟蹤事件
- TTY
- UDP/資料報
- URL
- 實用工具
- V8
- 虛擬機器
- WASI
- Web Crypto API
- Web Streams API
- 工作執行緒
- Zlib
- 其他版本
- 選項
全域性物件#
這些物件在所有模組中都可用。
以下變數可能看起來是全域性的,但實際上不是。它們只存在於CommonJS 模組的作用域中
這裡列出的物件是 Node.js 特有的。還有一些內建物件是 JavaScript 語言本身的一部分,它們也是全域性可訪問的。
類:AbortController#
一個實用工具類,用於在選定的基於Promise的 API 中發出取消訊號。該 API 基於 Web API <AbortController>。
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Prints true
abortController.abort([reason])#
reason<any> 一個可選的原因,可在AbortSignal的reason屬性上檢索。
觸發中止訊號,使 abortController.signal 發出 'abort' 事件。
abortController.signal#
類:AbortSignal#
- 擴充套件:<EventTarget>
當 abortController.abort() 方法被呼叫時,AbortSignal 用於通知觀察者。
靜態方法:AbortSignal.timeout(delay)#
delay<number> 觸發 AbortSignal 前等待的毫秒數。
返回一個新的 AbortSignal,它將在 delay 毫秒後被中止。
靜態方法:AbortSignal.any(signals)#
signals<AbortSignal[]> 用來組合成新AbortSignal的AbortSignal陣列。
返回一個新的 AbortSignal,如果提供的任何一個訊號被中止,它也將被中止。它的 abortSignal.reason 將被設定為導致它中止的那個 signals 的原因。
事件:'abort'#
當 abortController.abort() 方法被呼叫時,會發出 'abort' 事件。回撥函式被呼叫時會傳入一個物件引數,該物件只有一個 type 屬性,其值設定為 'abort'。
const ac = new AbortController();
// Use either the onabort property...
ac.signal.onabort = () => console.log('aborted!');
// Or the EventTarget API...
ac.signal.addEventListener('abort', (event) => {
console.log(event.type); // Prints 'abort'
}, { once: true });
ac.abort();
與 AbortSignal 關聯的 AbortController 只會觸發一次 'abort' 事件。我們建議程式碼在新增 'abort' 事件監聽器之前,先檢查 abortSignal.aborted 屬性是否為 false。
任何附加到 AbortSignal 的事件監聽器都應使用 { once: true } 選項(或者,如果使用 EventEmitter API 來附加監聽器,則使用 once() 方法),以確保事件監聽器在 'abort' 事件被處理後立即被移除。否則可能導致記憶體洩漏。
abortSignal.reason#
- 型別:<any>
當 AbortSignal 被觸發時指定的可選原因。
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom!
abortSignal.throwIfAborted()#
如果 abortSignal.aborted 為 true,則丟擲 abortSignal.reason。
類:Blob#
參見 <Blob>。
類:Buffer#
- 型別:<Function>
用於處理二進位制資料。參見 buffer 章節。
類:ByteLengthQueuingStrategy#
一個與瀏覽器相容的 ByteLengthQueuingStrategy 實現。
__dirname#
此變數可能看起來是全域性的,但實際上不是。參見 __dirname。
__filename#
此變數可能看起來是全域性的,但實際上不是。參見 __filename。
atob(data)#
Buffer.from(data, 'base64')。buffer.atob() 的全域性別名。
類:BroadcastChannel#
btoa(data)#
buf.toString('base64')。buffer.btoa() 的全域性別名。
clearImmediate(immediateObject)#
clearImmediate 在 定時器 章節中描述。
clearInterval(intervalObject)#
clearInterval 在 定時器 章節中描述。
clearTimeout(timeoutObject)#
clearTimeout 在 定時器 章節中描述。
類:CloseEvent#
一個與瀏覽器相容的 <CloseEvent> 實現。使用 --no-experimental-websocket CLI 標誌停用此 API。
類:CompressionStream#
一個與瀏覽器相容的 CompressionStream 實現。
console#
- 型別:<Object>
用於列印到標準輸出(stdout)和標準錯誤(stderr)。參見 console 章節。
類:CountQueuingStrategy#
一個與瀏覽器相容的 CountQueuingStrategy 實現。
類:Crypto#
一個與瀏覽器相容的 <Crypto> 實現。只有當 Node.js 二進位制檔案編譯時包含了對 node:crypto 模組的支援,此全域性變數才可用。
crypto#
一個與瀏覽器相容的 Web Crypto API 實現。
類:CryptoKey#
一個與瀏覽器相容的 <CryptoKey> 實現。只有當 Node.js 二進位制檔案編譯時包含了對 node:crypto 模組的支援,此全域性變數才可用。
類:CustomEvent#
一個與瀏覽器相容的 <CustomEvent> 實現。
類:DecompressionStream#
一個與瀏覽器相容的 DecompressionStream 實現。
ErrorEvent#
一個與瀏覽器相容的 <ErrorEvent> 實現。
類:Event#
一個與瀏覽器相容的 Event 類實現。更多詳情請參見 EventTarget 和 Event API。
類:EventSource#
--experimental-eventsource CLI 標誌啟用此 API。一個與瀏覽器相容的 <EventSource> 實現。
類:EventTarget#
一個與瀏覽器相容的 EventTarget 類實現。更多詳情請參見 EventTarget 和 Event API。
exports#
此變數可能看起來是全域性的,但實際上不是。參見 exports。
fetch#
一個與瀏覽器相容的 fetch() 函式實現。
const res = await fetch('https://nodejs.com.tw/api/documentation.json');
if (res.ok) {
const data = await res.json();
console.log(data);
}
該實現基於 undici,這是一個為 Node.js 從頭編寫的 HTTP/1.1 客戶端。您可以透過讀取 process.versions.undici 屬性來確定您的 Node.js 程序中捆綁的 undici 版本。
自定義排程器#
您可以透過在 fetch 的選項物件中傳遞一個自定義排程器來分派請求。該排程器必須與 undici 的 Dispatcher 類 相容。
fetch(url, { dispatcher: new MyAgent() });
可以透過安裝 undici 並使用 setGlobalDispatcher() 方法來更改 Node.js 中的全域性排程器。呼叫此方法將同時影響 undici 和 Node.js。
import { setGlobalDispatcher } from 'undici';
setGlobalDispatcher(new MyAgent());
類:File#
參見 <File>。
類:FormData#
一個與瀏覽器相容的 <FormData> 實現。
global#
globalThis。- 型別:<Object> 全域性名稱空間物件。
在瀏覽器中,頂層作用域傳統上就是全域性作用域。這意味著 var something 會定義一個新的全域性變數,除非在 ECMAScript 模組中。在 Node.js 中,情況有所不同。頂層作用域不是全域性作用域;在 Node.js 模組中,var something 將是該模組的區域性變數,無論它是 CommonJS 模組 還是 ECMAScript 模組。
類:Headers#
一個與瀏覽器相容的 <Headers> 實現。
localStorage#
一個與瀏覽器相容的 localStorage 實現。資料以未加密的形式儲存在由 --localstorage-file CLI 標誌指定的檔案中。可儲存的最大資料量為 10 MB。不支援在 Web Storage API 之外對此資料進行任何修改。使用 --no-webstorage(或其別名 --no-experimental-webstorage)CLI 標誌停用此 API。在伺服器上下文中使用時,localStorage 資料不是按使用者或請求儲存的,它在所有使用者和請求之間共享。
類:MessageChannel#
MessageChannel 類。更多詳情請參見 MessageChannel。
類:MessageEvent#
一個與瀏覽器相容的 <MessageEvent> 實現。
類:MessagePort#
MessagePort 類。更多詳情請參見 MessagePort。
module#
此變數可能看起來是全域性的,但實際上不是。參見 module。
類:Navigator#
--no-experimental-global-navigator CLI 標誌停用此 API。Navigator API 的部分實現。
navigator#
--no-experimental-global-navigator CLI 標誌停用此 API。window.navigator 的部分實現。
navigator.hardwareConcurrency#
- 型別:<number>
navigator.hardwareConcurrency 只讀屬性返回當前 Node.js 例項可用的邏輯處理器數量。
console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`);
navigator.language#
- 型別:<string>
navigator.language 只讀屬性返回一個字串,表示 Node.js 例項的首選語言。該語言將由 Node.js 在執行時使用的 ICU 庫根據作業系統的預設語言來確定。
該值表示 RFC 5646 中定義的語言版本。
在沒有 ICU 的構建版本中,回退值為 'en-US'。
console.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`);
navigator.languages#
- 型別:{Array
}
navigator.languages 只讀屬性返回一個字串陣列,表示 Node.js 例項的首選語言。預設情況下,navigator.languages 僅包含 navigator.language 的值,該值將由 Node.js 在執行時使用的 ICU 庫根據作業系統的預設語言來確定。
在沒有 ICU 的構建版本中,回退值為 ['en-US']。
console.log(`The preferred languages are '${navigator.languages}'`);
navigator.platform#
- 型別:<string>
navigator.platform 只讀屬性返回一個字串,標識 Node.js 例項執行的平臺。
console.log(`This process is running on ${navigator.platform}`);
navigator.userAgent#
- 型別:<string>
navigator.userAgent 只讀屬性返回使用者代理字串,由執行時名稱和主版本號組成。
console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21"
navigator.locks#
navigator.locks 只讀屬性返回一個 LockManager 例項,可用於協調對同一程序內多個執行緒可能共享的資源的訪問。此全域性實現與瀏覽器 LockManager API 的語義相匹配。
// Request an exclusive lock
await navigator.locks.request('my_resource', async (lock) => {
// The lock has been acquired.
console.log(`Lock acquired: ${lock.name}`);
// Lock is automatically released when the function returns
});
// Request a shared lock
await navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {
// Multiple shared locks can be held simultaneously
console.log(`Shared lock acquired: ${lock.name}`);
});// Request an exclusive lock
navigator.locks.request('my_resource', async (lock) => {
// The lock has been acquired.
console.log(`Lock acquired: ${lock.name}`);
// Lock is automatically released when the function returns
}).then(() => {
console.log('Lock released');
});
// Request a shared lock
navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {
// Multiple shared locks can be held simultaneously
console.log(`Shared lock acquired: ${lock.name}`);
}).then(() => {
console.log('Shared lock released');
});
詳細的 API 文件請參見 worker_threads.locks。
類:PerformanceEntry#
PerformanceEntry 類。更多詳情請參見 PerformanceEntry。
類:PerformanceMark#
PerformanceMark 類。更多詳情請參見 PerformanceMark。
類:PerformanceMeasure#
PerformanceMeasure 類。更多詳情請參見 PerformanceMeasure。
類:PerformanceObserver#
PerformanceObserver 類。更多詳情請參見 PerformanceObserver。
類:PerformanceObserverEntryList#
PerformanceObserverEntryList 類。更多詳情請參見 PerformanceObserverEntryList。
類:PerformanceResourceTiming#
PerformanceResourceTiming 類。更多詳情請參見 PerformanceResourceTiming。
performance#
process#
- 型別:<Object>
process 物件。參見 process 物件 章節。
queueMicrotask(callback)#
callback<Function> 要排隊的函式。
queueMicrotask() 方法將一個微任務排隊以呼叫 callback。如果 callback 丟擲異常,process 物件的 'uncaughtException' 事件將被觸發。
微任務佇列由 V8 管理,其使用方式與由 Node.js 管理的 process.nextTick() 佇列類似。在 Node.js 事件迴圈的每一輪中,process.nextTick() 佇列總是在微任務佇列之前處理。
// Here, `queueMicrotask()` is used to ensure the 'load' event is always
// emitted asynchronously, and therefore consistently. Using
// `process.nextTick()` here would result in the 'load' event always emitting
// before any other promise jobs.
DataHandler.prototype.load = async function load(key) {
const hit = this._cache.get(key);
if (hit !== undefined) {
queueMicrotask(() => {
this.emit('load', hit);
});
return;
}
const data = await fetchData(key);
this._cache.set(key, data);
this.emit('load', data);
};
類:ReadableByteStreamController#
一個與瀏覽器相容的 ReadableByteStreamController 實現。
類:ReadableStream#
一個與瀏覽器相容的 ReadableStream 實現。
類:ReadableStreamBYOBReader#
一個與瀏覽器相容的 ReadableStreamBYOBReader 實現。
類:ReadableStreamBYOBRequest#
一個與瀏覽器相容的 ReadableStreamBYOBRequest 實現。
類:ReadableStreamDefaultController#
一個與瀏覽器相容的 ReadableStreamDefaultController 實現。
類:ReadableStreamDefaultReader#
一個與瀏覽器相容的 ReadableStreamDefaultReader 實現。
require()#
此變數可能看起來是全域性的,但實際上不是。參見 require()。
類:Response#
一個與瀏覽器相容的 <Response> 實現。
類:Request#
一個與瀏覽器相容的 <Request> 實現。
sessionStorage#
一個與瀏覽器相容的 sessionStorage 實現。資料儲存在記憶體中,儲存配額為 10 MB。sessionStorage 資料僅在當前執行的程序中持久存在,並且不在工作執行緒之間共享。
setImmediate(callback[, ...args])#
setImmediate 在 定時器 章節中描述。
setInterval(callback, delay[, ...args])#
setInterval 在 定時器 章節中描述。
setTimeout(callback, delay[, ...args])#
setTimeout 在 定時器 章節中描述。
類:Storage#
--experimental-webstorage][] CLI 標誌啟用此 API。一個與瀏覽器相容的 <Storage> 實現。使用 --no-webstorage(或其別名 --no-experimental-webstorage)CLI 標誌停用此 API。
structuredClone(value[, options])#
WHATWG 的 structuredClone 方法。
類:SubtleCrypto#
一個與瀏覽器相容的 <SubtleCrypto> 實現。只有當 Node.js 二進位制檔案編譯時包含了對 node:crypto 模組的支援,此全域性變數才可用。
類:DOMException#
WHATWG 的 <DOMException> 類。
類:TextDecoder#
WHATWG 的 TextDecoder 類。參見 TextDecoder 章節。
類:TextDecoderStream#
一個與瀏覽器相容的 TextDecoderStream 實現。
類:TextEncoder#
WHATWG 的 TextEncoder 類。參見 TextEncoder 章節。
類:TextEncoderStream#
一個與瀏覽器相容的 TextEncoderStream 實現。
類:TransformStream#
一個與瀏覽器相容的 TransformStream 實現。
類:TransformStreamDefaultController#
一個與瀏覽器相容的 TransformStreamDefaultController 實現。
類:URL#
WHATWG 的 URL 類。參見 URL 章節。
類:URLPattern#
WHATWG 的 URLPattern 類。參見 URLPattern 章節。
類:URLSearchParams#
WHATWG 的 URLSearchParams 類。參見 URLSearchParams 章節。
類:WebAssembly#
- 型別:<Object>
作為所有 W3C WebAssembly 相關功能名稱空間的物件。用法和相容性請參見 Mozilla 開發者網路。
類:WebSocket#
一個與瀏覽器相容的 <WebSocket> 實現。使用 --no-experimental-websocket CLI 標誌停用此 API。
類:WritableStream#
一個與瀏覽器相容的 WritableStream 實現。
類:WritableStreamDefaultController#
一個與瀏覽器相容的 WritableStreamDefaultController 實現。
類:WritableStreamDefaultWriter#
一個與瀏覽器相容的 WritableStreamDefaultWriter 實現。