Skip to content
导航

Node.js 全局变量

Node.js 中的模块全局可用的变量,可以分为三类:

  1. CommonJS 模块化注入的变量
  2. 兼容早期 Node.js 直接在全局暴露的模块
  3. Javascript 语言规范中定义的全局变量

本文对当前最新版本(v20.6.1)Node.js 的全局变量归类,方便查找、记忆。

CommonJS

仅在 CommonJS 模块中可用,ES模块中访问报错。

它们由模块包装器函数提供,在模块上下文中可以直接使用,但不是全局变量

  • module
  • exports
  • require
  • __dirname
  • __filename

兼容早期全局模块

  • Buffer 用于处理二进制数据
  • process 用于操作当前运行的Node.js进程

Javascript 语言规范

  • AbortController 用于控制网络请求中断
  • Blob 表示一个不可变、原始数据的类文件对象
  • btoaatob,字符串与 base64 编码、解码函数
  • console 控制台打印调试信息
  • CustomEvent 自定义事件类型
  • Event 事件的构造函数,其他事件继承自该构造函数
  • EventTarget 事件目标的构造函数,具有addEventListenerremoveEventListenerdispatchEvent 共3个实例方法
  • File 一种表示文件的构造函数,如 <input type="file"/> 收到的文件就是 File 实例
  • globalThis 表示全局上下文
  • performance 性能实例对象及相关构造函数
  • DOMException 表示使用 Web API 中发生的异常事件
  • URL 用于解析,构造,规范化和编码URL
  • URLSearchParams 用于处理URL上的查询字符串
  • structuredClone 深拷贝
  • WebAssembly 是WebAssembly相关功能的命名空间
  • 通信相关
    • BroadcastChannel 构造函数,命名创建广播消息,用于同源页面、worker通信
    • MessageChannel 构造函数,用于一对一通信
    • MessagePort 一种构造函数,其实例为 MessageChannel 实例的属性 port1port2
  • 事件循环相关
    • 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 实例方法中的密钥
    • cryptoCrypto的实例,提供对通用的密码学功能和强随机数生成器的访问
    • SubtleCrypto 一种构造函数类型,描述 crypto.subtle
  • 文本编码、解码相关构造函数
    • TextEncoder
    • TextDecoder
    • TextEncoderStream
    • TextDecoderStream

参考资料