Node.js 全局变量
Node.js 中的模块全局可用的变量,可以分为三类:
- CommonJS 模块化注入的变量
- 兼容早期 Node.js 直接在全局暴露的模块
- Javascript 语言规范中定义的全局变量
本文对当前最新版本(v20.6.1)Node.js 的全局变量归类,方便查找、记忆。
CommonJS
仅在 CommonJS 模块中可用,ES模块中访问报错。
它们由模块包装器函数提供,在模块上下文中可以直接使用,但不是全局变量
module
exports
require
__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
,clearImmediate
setInterval
,clearInterval
setTimout
,clearTimout
queueMicrotask
- Fetch API 相关
fetch
用于发出请求Headers
提供操作请求的headers对象的方法Request
Response
FormData
表单数据的构造函数,其实例提供操作表单数据的方法。fetch 支持发送FormData
实例
- Stream API 相关
ByteLengthQueuingStrategy
构造流时配置队列策略的字节总数CountQueuingStrategy
构造流时配置队列策略的分块总数CompressionStream
配置数据流的压缩格式DecompressionStream
配置数据流的解压格式ReadableStream
表示可读的字节数据流WritableStream
对写入流的抽象TransformStream
转换流、可转移对象,可读写
- Crypto API 相关
Crypto
一种构造函数类型,描述crypto
CryptoKey
一种构造函数类型,描述SubtleCrypto
实例方法中的密钥crypto
是Crypto
的实例,提供对通用的密码学功能和强随机数生成器的访问SubtleCrypto
一种构造函数类型,描述crypto.subtle
- 文本编码、解码相关构造函数
TextEncoder
TextDecoder
TextEncoderStream
TextDecoderStream