Node.js 全局变量
Node.js 中的模块全局可用的变量,可以分为三类:
- CommonJS 模块化注入的变量
- 兼容早期 Node.js 直接在全局暴露的模块
- Javascript 语言规范中定义的全局变量
本文对当前最新版本(v20.6.1)Node.js 的全局变量归类,方便查找、记忆。
CommonJS
仅在 CommonJS 模块中可用,ES模块中访问报错。
它们由模块包装器函数提供,在模块上下文中可以直接使用,但不是全局变量
moduleexportsrequire__dirname__filename
兼容早期全局模块
Buffer用于处理二进制数据process用于操作当前运行的Node.js进程
Javascript 语言规范
AbortController用于控制网络请求中断Blob表示一个不可变、原始数据的类文件对象btoa、atob,字符串与 base64 编码、解码函数console控制台打印调试信息CustomEvent自定义事件类型Event事件的构造函数,其他事件继承自该构造函数EventTarget事件目标的构造函数,具有addEventListener、removeEventListener、dispatchEvent共3个实例方法File一种表示文件的构造函数,如<input type="file"/>收到的文件就是 File 实例globalThis表示全局上下文performance性能实例对象及相关构造函数DOMException表示使用 Web API 中发生的异常事件URL用于解析,构造,规范化和编码URLURLSearchParams用于处理URL上的查询字符串structuredClone深拷贝WebAssembly是WebAssembly相关功能的命名空间- 通信相关
BroadcastChannel构造函数,命名创建广播消息,用于同源页面、worker通信MessageChannel构造函数,用于一对一通信MessagePort一种构造函数,其实例为MessageChannel实例的属性port1、port2
- 事件循环相关
setImmediate,clearImmediatesetInterval,clearIntervalsetTimout,clearTimoutqueueMicrotask
- Fetch API 相关
fetch用于发出请求Headers提供操作请求的headers对象的方法RequestResponseFormData表单数据的构造函数,其实例提供操作表单数据的方法。fetch 支持发送FormData实例
- Stream API 相关
ByteLengthQueuingStrategy构造流时配置队列策略的字节总数CountQueuingStrategy构造流时配置队列策略的分块总数CompressionStream配置数据流的压缩格式DecompressionStream配置数据流的解压格式ReadableStream表示可读的字节数据流WritableStream对写入流的抽象TransformStream转换流、可转移对象,可读写
- Crypto API 相关
Crypto一种构造函数类型,描述cryptoCryptoKey一种构造函数类型,描述SubtleCrypto实例方法中的密钥crypto是Crypto的实例,提供对通用的密码学功能和强随机数生成器的访问SubtleCrypto一种构造函数类型,描述crypto.subtle
- 文本编码、解码相关构造函数
TextEncoderTextDecoderTextEncoderStreamTextDecoderStream