- assert - 断言
- Buffer - 缓冲器
- child_process - 子进程
- cluster - 集群
- console - 控制台
- crypto - 加密
- dgram - 数据报
- dns - 域名服务器
- Error - 异常
- events - 事件
- fs - 文件系统
- global - 全局变量
- http - HTTP
- https - HTTPS
- module - 模块
- net - 网络
- os - 操作系统
- path - 路径
- process - 进程
- querystring - 查询字符串
- readline - 逐行读取
- repl - 交互式解释器
- stream - 流
- string_decoder - 字符串解码器
- timer - 定时器
- tls - 安全传输层
- tty - 终端
- url - 网址
- util - 实用工具
- v8 - V8引擎
- vm - 虚拟机
- zlib - 压缩
Node.js v10.8.0 文档
目录
tty - 终端#
tty 模块提供了 tty.ReadStream 类和 tty.WriteStream 类。
大多数情况下无需直接使用该模块。
可以通过以下方式使用:
const tty = require('tty');
当 Node.js 检测到正运行在一个文本终端(TTY)时,则 process.stdin 默认会被初始化为 tty.ReadStream 实例,且 process.stdout 和 process.stderr 默认会被初始化为 tty.WriteStream 实例。
判断 Node.js 是否运行在 TTY 上下文的首选方法是检查 process.stdout.isTTY 属性的值是否为 true:
$ node -p -e "Boolean(process.stdout.isTTY)"
true
$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false
大多数情况下,应用程序无需手动创建 tty.ReadStream 类和 tty.WriteStream 类的实例。
tty.ReadStream 类#
tty.ReadStream 类是 net.Socket 的一个子类,表示 TTY 的可读部分。
正常情况下,process.stdin 是 Node.js 进程中唯一的 tty.ReadStream 实例,无需创建更多的实例。
readStream.isRaw#
如果 TTY 当前被配置成原始模式,则返回 true。
默认返回 false。
readStream.isTTY#
如果是 tty.ReadStream 实例,则返回 true。
readStream.setRawMode(mode)#
把 tty.ReadStream 配置成原始模式。
在原始模式中,输入按字符逐个生效,但不包括修饰符。
终端对字符的所有特殊处理都会被禁用,包括应答输入的字符。
该模式中 CTRL+C 不再产生 SIGINT。
- mode<boolean> 如果为- true,则把- tty.ReadStream配置成原始模式。 如果为- false,则把- tty.ReadStream配置成默认模式。- readStream.isRaw属性会被设为对应的值。
tty.WriteStream 类#
tty.WriteStream 类是 net.Socket 的一个子类,表示 TTY 的可写部分。
正常情况下,process.stdout 和 process.stderr 是 Node.js 进程中唯一的 tty.WriteStream 实例,无需创建更多的实例。
'resize' 事件#
当 writeStream.columns 属性或 writeStream.rows 属性发生变化时触发 'resize' 事件。
监听器回调函数没有参数。
process.stdout.on('resize', () => {
  console.log('窗口大小发生变化!');
  console.log(`${process.stdout.columns}x${process.stdout.rows}`);
});
writeStream.columns#
返回 TTY 当前具有的列数。
每当 'resize' 事件被触发时,该属性会被更新。
writeStream.isTTY#
总是返回 true。
writeStream.rows#
返回 TTY 当前具有的行数。
每当 'resize' 事件被触发时,该属性会被更新。
writeStream.getColorDepth([env])#
返回:
- 1支持 2 种颜色,
- 4支持 16 种颜色,
- 8支持 256 种颜色,
- 24支持 16,777,216 种颜色,
使用该函数检测终端支持的颜色。
鉴于终端中颜色的特性,可能存在误差。
这依赖于进程信息与环境变量,但它们可能会隐瞒使用的是终端。
为了执行特定行为时不依赖 process.env,可以传入带有不同选项的对象。
使用 NODE_DISABLE_COLORS 环境变量可以强制该函数总是返回 1。
tty.isatty(fd)#
- fd<number> 数值类型的文件描述符。
如果给定的 fd 有关联 TTY,则返回 true,否则返回 false。