Node.js v24.0.0 文档
- Node.js v24.0.0
-
目录
- 全局对象
- 类:
AbortController
- 类:
Blob
- 类:
Buffer
- 类:
ByteLengthQueuingStrategy
__dirname
__filename
atob(data)
BroadcastChannel
btoa(data)
clearImmediate(immediateObject)
clearInterval(intervalObject)
clearTimeout(timeoutObject)
CloseEvent
- 类:
CompressionStream
console
- 类:
CountQueuingStrategy
加密
crypto
CryptoKey
CustomEvent
- 类:
DecompressionStream
Event
EventSource
EventTarget
exports
fetch
- 自定义调度器
- 相关类
- 类:
File
- 类
FormData
global
- 类
Headers
localStorage
MessageChannel
MessageEvent
MessagePort
module
Navigator
navigator
PerformanceEntry
PerformanceMark
PerformanceMeasure
PerformanceObserver
PerformanceObserverEntryList
PerformanceResourceTiming
performance
process
queueMicrotask(callback)
- 类:
ReadableByteStreamController
- 类:
ReadableStream
- 类:
ReadableStreamBYOBReader
- 类:
ReadableStreamBYOBRequest
- 类:
ReadableStreamDefaultController
- 类:
ReadableStreamDefaultReader
require()
Response
Request
sessionStorage
setImmediate(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
- 类:
- 全局对象
-
索引
- 断言测试
- 异步上下文追踪
- 异步钩子
- Buffer
- C++ 插件
- 使用 Node-API 的 C/C++ 插件
- C++ 嵌入器 API
- 子进程
- 集群
- 命令行选项
- 控制台
- 加密
- 调试器
- 已弃用的 API
- 诊断通道
- DNS
- 域
- 错误
- 事件
- 文件系统
- 全局变量
- HTTP
- HTTP/2
- HTTPS
- 检查器
- 国际化
- 模块:CommonJS 模块
- 模块:ECMAScript 模块
- 模块:
node:module
API - 模块:包
- 模块:TypeScript
- Net
- OS
- Path
- 性能钩子
- 权限
- 进程
- Punycode
- 查询字符串
- Readline
- REPL
- 报告
- 单执行文件应用程序
- SQLite
- 流
- 字符串解码器
- 测试运行器
- 定时器
- TLS/SSL
- 跟踪事件
- TTY
- UDP/数据报
- URL
- 实用工具
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- Worker 线程
- 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
#
当调用 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'
事件。 使用设置为 'abort'
的单个 type
属性调用回调函数。
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
#
用于处理二进制数据。 请参阅 缓冲区部分。
类: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
类。 更多详细信息,请参阅 CloseEvent
。
CloseEvent
的浏览器兼容实现。 使用 --no-experimental-websocket
CLI 标志禁用此 API。
类: CompressionStream
#
CompressionStream
的浏览器兼容实现。
console
#
用于打印到 stdout 和 stderr。 参见 console
部分。
类: CountQueuingStrategy
#
CountQueuingStrategy
的浏览器兼容实现。
Crypto
#
<Crypto> 的浏览器兼容实现。 只有在编译 Node.js 二进制文件时包含对 node:crypto
模块的支持,此全局变量才可用。
crypto
#
Web Crypto API 的浏览器兼容实现。
CryptoKey
#
<CryptoKey> 的浏览器兼容实现。 只有在编译 Node.js 二进制文件时包含对 node:crypto
模块的支持,此全局变量才可用。
CustomEvent
#
CustomEvent
Web API 的浏览器兼容实现。
类: DecompressionStream
#
DecompressionStream
的浏览器兼容实现。
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://node.org.cn/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 的 options 对象中。 该分发器必须与 undici
的 Dispatcher
类兼容。
fetch(url, { dispatcher: new MyAgent() });
可以通过安装 undici
并使用 setGlobalDispatcher()
方法来更改 Node.js 中的全局分发器。 调用此方法将影响 undici
和 Node.js。
import { setGlobalDispatcher } from 'undici';
setGlobalDispatcher(new MyAgent());
相关类#
以下全局变量可与 fetch
一起使用
类: 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 之外对该数据进行任何修改。 使用 --experimental-webstorage
CLI 标志启用此 API。 在服务器上下文中使用时,localStorage
数据不按用户或按请求存储,而是在所有用户和请求之间共享。
MessageChannel
#
MessageChannel
类。 更多详细信息,请参阅 MessageChannel
。
MessageEvent
#
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
#
navigator.hardwareConcurrency
只读属性返回当前 Node.js 实例可用的逻辑处理器数量。
console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`);
navigator.language
#
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
#
navigator.platform
只读属性返回一个字符串,用于标识 Node.js 实例正在运行的平台。
console.log(`This process is running on ${navigator.platform}`);
PerformanceEntry
#
PerformanceEntry
类。 更多详情参见 PerformanceEntry
。
PerformanceMark
#
PerformanceMark
类。 更多详情参见 PerformanceMark
。
PerformanceMeasure
#
PerformanceMeasure
类。 更多详情参见 PerformanceMeasure
。
PerformanceObserver
#
PerformanceObserver
类。 更多详情参见 PerformanceObserver
。
PerformanceObserverEntryList
#
PerformanceObserverEntryList
类。 更多详情参见 PerformanceObserverEntryList
。
PerformanceResourceTiming
#
PerformanceResourceTiming
类。 更多详情参见 PerformanceResourceTiming
。
performance
#
process
#
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
#
Storage
的浏览器兼容实现。 使用 --experimental-webstorage
命令行标志启用此 API。
structuredClone(value[, options])
#
WHATWG structuredClone
方法。
SubtleCrypto
#
<SubtleCrypto> 的浏览器兼容实现。 仅当 Node.js 二进制文件在编译时包含对 node:crypto
模块的支持时,此全局变量才可用。
DOMException
#
WHATWG DOMException
类。 更多详情参见 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
#
用作所有 W3C WebAssembly 相关功能的命名空间的对象。 关于用法和兼容性,参见 Mozilla 开发者网络。
WebSocket
#
WebSocket
的浏览器兼容实现。 使用 --no-experimental-websocket
命令行标志禁用此 API。
类: WritableStream
#
WritableStream
的浏览器兼容实现。
类: WritableStreamDefaultController
#
WritableStreamDefaultController
的浏览器兼容实现。
类: WritableStreamDefaultWriter
#
WritableStreamDefaultWriter
的浏览器兼容实现。