Node.js v26.0.0 文档
- Node.js v26.0.0
- 目录
- 索引
- 关于本文档
- 用法与示例
- 断言测试
- 异步上下文跟踪
- 异步钩子
- 缓冲区
- C++ 插件
- 使用 Node-API 的 C/C++ 插件
- C++ 嵌入器 API
- 子进程
- 集群
- 命令行选项
- 控制台
- 加密
- 调试器
- 已弃用的 API
- 诊断通道
- DNS
- 域
- 环境变量
- 错误
- 事件
- 文件系统
- 全局对象
- HTTP
- HTTP/2
- HTTPS
- 检查器
- 国际化
- 模块:CommonJS 模块
- 模块:ECMAScript 模块
- 模块:
node:moduleAPI - 模块:包
- 模块:TypeScript
- 网络
- 可迭代流 API
- 操作系统
- 路径
- 性能钩子
- 权限
- 进程
- Punycode
- 查询字符串
- 逐行读取
- REPL
- 报告
- 单一可执行文件应用
- SQLite
- 流
- 字符串解码器
- 测试运行器
- 定时器
- TLS/SSL
- 跟踪事件
- TTY
- UDP/数据报
- URL
- 实用工具
- V8
- 虚拟机
- WASI
- Web Crypto API
- Web Streams API
- 工作线程
- Zlib
- Zlib 可迭代压缩
- 其他版本
- 选项
关于本文档#
欢迎查阅 Node.js 官方 API 参考文档!
Node.js 是一个基于 V8 JavaScript 引擎构建的 JavaScript 运行时。
贡献#
若要在本文档中报告错误,请使用 问题追踪器 (issue tracker)。有关如何提交拉取请求 (pull requests) 的说明,请参阅 贡献指南。
稳定性索引#
文档通篇都有关于各章节稳定性的标识。某些 API 经过充分验证且被广泛依赖,极不可能发生变更。另一些 API 则是全新的、实验性的,或已知存在风险的。
稳定性索引如下:
稳定性:0 - 已废弃。该特性可能会发出警告。不保证向后兼容性。
稳定性:1 - 实验性。该特性不受 语义化版本控制 (semantic versioning) 规则约束。在未来的任何版本中,都可能发生不兼容的变更或被移除。不建议在生产环境中使用该特性。
实验性特性细分为以下阶段:
- 1.0 - 早期开发。处于此阶段的实验性特性尚不完善,可能会发生重大变更。
- 1.1 - 活跃开发。处于此阶段的实验性特性正趋于最小化可用状态。
- 1.2 - 发布候选版本。处于此阶段的实验性特性有望成为稳定版本。预计不会再有破坏性变更,但为响应用户反馈或特性的底层规范开发,仍可能发生变动。我们鼓励用户进行测试并反馈,以便我们确认该特性是否已准备好被标记为稳定。
实验性特性通常通过升级为稳定版,或在没有废弃周期的情况下被移除来结束其实验性状态。
稳定性:2 - 稳定。与 npm 生态系统的兼容性是重中之重。
稳定性:3 - 遗留。虽然该特性不太可能被移除且仍受语义化版本控制保证,但它已不再积极维护,且已有其他替代方案可用。
若特性的使用不会造成危害且在 npm 生态系统中被广泛依赖,则会被标记为“遗留”而非“已废弃”。遗留特性中发现的 bug 不太可能会被修复。
在使用实验性特性时请务必谨慎,尤其是在编写库时。用户可能并未意识到正在使用实验性特性。当实验性 API 发生修改时,bug 或行为变更可能会令用户感到困惑。为避免意外,使用实验性特性可能需要命令行标志。实验性特性也可能会发出 警告。
稳定性概述#
| API | 稳定性 |
|---|---|
| Assert | (2) 稳定 |
| 异步钩子 | (1) 实验性 |
| 异步上下文跟踪 | (2) 稳定 |
| 缓冲区 | (2) 稳定 |
| 子进程 (Child process) | (2) 稳定 |
| 集群 | (2) 稳定 |
| 控制台 | (2) 稳定 |
| 加密 | (2) 稳定 |
| 调试器 | (2) 稳定 |
| 诊断报告 (Diagnostic report) | (2) 稳定 |
| 诊断通道 | (2) 稳定 |
| DNS | (2) 稳定 |
| 域 | (0) 已废弃 |
| 事件 | (2) 稳定 |
| 文件系统 | (2) 稳定 |
| 全局对象 | (2) 稳定 |
| HTTP | (2) 稳定 |
| HTTP/2 | (2) 稳定 |
| HTTPS | (2) 稳定 |
| 检查器 | (2) 稳定 |
| 可迭代压缩 (Iterable Compression) | (1) 实验性 |
| 可迭代流 (Iterable Streams) | (1) 实验性 |
| 模块:CommonJS 模块 | (2) 稳定 |
| 模块:ECMAScript 模块 | (2) 稳定 |
| 模块:TypeScript | (2) 稳定 |
| 网络 | (2) 稳定 |
| Node-API | (2) 稳定 |
| 操作系统 | (2) 稳定 |
| 路径 | (2) 稳定 |
| 性能测量 API | (2) 稳定 |
| Punycode | (0) 已废弃 |
| 查询字符串 (Query string) | (2) 稳定 |
| 逐行读取 | (2) 稳定 |
| REPL | (2) 稳定 |
| 单一可执行文件应用 | (1.1) 活跃开发 |
| SQLite | (1.2) 发布候选版本 |
| 流 | (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) 和其他使用文档的实用程序。
系统调用与 man 手册页#
封装系统调用的 Node.js 函数会进行相应记录。文档中提供了指向描述该系统调用工作原理的对应 man 手册页的链接。
大多数 Unix 系统调用都有 Windows 对应项。尽管如此,行为上的差异往往不可避免。