- 断言测试
- 异步上下文跟踪
- 异步钩子
- 缓冲(Buffer)
- C++ 插件
- 使用 Node-API 的 C/C++ 插件
- C++ 嵌入 Node环境
- 子进程(Child processes)
- 集群(Cluster)
- 命令行选项
- 控制台(Console)
- 核心包(Corepack)
- 加密(Crypto)
- 调试器(Debugger)
- 已弃用的 API
- 诊断通道(Diagnostics Channel)
- 域名系统(DNS)
- 域(Domain)
- 错误(Errors)
- 事件(Events)
- 文件系统(File system)
- 全局变量(Globals)
- HTTP
- HTTP/2
- HTTPS
- 检查器(Inspector)
- 国际化
- 模块:CommonJS 模块
- 模块:ECMAScript 模块
- 模块:
node:moduleAPI - 模块:packages 模块
- 网络(Net)
- 系统(OS)
- 路径(Path)
- 性能挂钩(Performance hooks)
- 性能挂钩(Permissions)
- 进程(Process)
- Punycode 国际化域名编码
- 查询字符串(Query strings)
- 命令行库(Readline)
- REPL 交互式编程环境
- 诊断报告
- 单个可执行应用程序
- Stream 流
- 字符串解码器
- 单元测试
- 定时器(Timers)
- 传输层安全/SSL
- 跟踪事件
- TTY
- UDP/数据报
- URL
- 实用程序
- V8
- 虚拟机
- WebAssembly
- Web加密 API(Web Crypto API)
- 网络流 API(Web Streams API)
- 工作线程(Worker threads)
- zlib
Node.js v18.18.2 文档
- Node.js v18.18.2
-
►
目录
- TTY
- 类:
tty.ReadStream - 类:
tty.WriteStream- 事件:
'resize' writeStream.clearLine(dir[, callback])writeStream.clearScreenDown([callback])writeStream.columnswriteStream.cursorTo(x[, y][, callback])writeStream.getColorDepth([env])writeStream.getWindowSize()writeStream.hasColors([count][, env])writeStream.isTTYwriteStream.moveCursor(dx, dy[, callback])writeStream.rows
- 事件:
tty.isatty(fd)
- 类:
- TTY
-
►
索引
- 断言测试
- 异步上下文跟踪
- Async hooks
- Buffer
- C++ addons
- C/C++ addons with Node-API
- C++ embedder API
- Child processes
- Cluster
- Command-line options
- Console
- Corepack
- Crypto
- Debugger
- Deprecated APIs
- Diagnostics Channel
- DNS
- Domain
- Errors
- Events
- File system
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- Internationalization
- Modules: CommonJS modules
- Modules: ECMAScript modules
- Modules:
node:moduleAPI - Modules: Packages
- Net
- 系统(OS)
- 路径(Path)
- Performance hooks
- Permissions
- 进程(Process)
- Punycode
- Query strings
- 命令行库(Readline)
- REPL 交互式编程环境
- Report
- Single executable applications
- Stream
- String decoder
- Test runner
- Timers
- TLS/SSL
- Trace events
- TTY
- UDP/datagram
- URL
- Utilities
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- Worker threads
- Zlib
- ► 其他版本
- ► 选项
目录
- TTY
- 类:
tty.ReadStream - 类:
tty.WriteStream- 事件:
'resize' writeStream.clearLine(dir[, callback])writeStream.clearScreenDown([callback])writeStream.columnswriteStream.cursorTo(x[, y][, callback])writeStream.getColorDepth([env])writeStream.getWindowSize()writeStream.hasColors([count][, env])writeStream.isTTYwriteStream.moveCursor(dx, dy[, callback])writeStream.rows
- 事件:
tty.isatty(fd)
- 类:
TTY#
源代码: lib/tty.js
node:tty模块提供了tty.ReadStream和tty.WriteStream
类。在大多数情况下,没有必要也不可能直接使用该模块。但是,可以使用以下方式访问它:
const tty = require('node: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#
- 扩展:<net.Socket>
代表 TTY 的可读端。在正常情况下,
process.stdin将是 Node.js 进程中唯一的tty.ReadStream实例,并且没有理由创建其他实例。
readStream.isRaw#
如果TTY当前配置为作为原始设备运行,则boolean为true 。
当进程启动时,即使终端在原始模式下运行,此标志始终为false 。它的值将随着对setRawMode的后续调用而改变
。
readStream.isTTY#
对于tty.ReadStream实例,boolean始终为true 。
readStream.setRawMode(mode)#
mode<boolean>如果为true,则将tty.ReadStream配置为作为原始设备运行。如果是false,则将tty.ReadStream配置为在默认模式下运行。readStream.isRaw属性将设置为结果模式。- 返回:<this>读取流实例。
允许配置tty.ReadStream,使其作为原始设备运行。
在原始模式下,输入始终是逐个字符可用的,不包括修饰符。此外,终端对字符的所有特殊处理都被禁用,包括回显输入字符。在此模式下,Ctrl+C将不再导致SIGINT 。
类: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('screen size has changed!');
console.log(`${process.stdout.columns}x${process.stdout.rows}`);
});
writeStream.clearLine(dir[, callback])#
dir<数字>-1:光标左侧1:光标右侧0:整行
callback<Function>操作完成后调用。- 返回:<boolean>
false如果流希望调用代码在继续写入其他数据之前等待发出'drain'事件;否则true。
writeStream.clearLine()按dir标识的方向清除此 WriteStream的当前行。
writeStream.clearScreenDown([callback])#
callback<Function>操作完成后调用。- 返回:<boolean>
false如果流希望调用代码在继续写入其他数据之前等待发出'drain'事件;否则true。
writeStream.clearScreenDown()从当前光标处向下清除此WriteStream 。
writeStream.columns#
number指定 TTY 当前拥有的列数。每当发出'resize'事件时,此属性都会更新。
writeStream.cursorTo(x[, y][, callback])#
x<数字>y<数字>callback<Function>操作完成后调用。- 返回:<boolean>
false如果流希望调用代码在继续写入其他数据之前等待'drain'事件发出;否则true。
writeStream.cursorTo()将此WriteStream的光标移动到指定位置。
writeStream.getColorDepth([env])#
返回:
12 个,416,8为 256,24支持 16,777,216 种颜色。
用它来确定终端支持什么颜色。由于终端颜色的性质,可能会出现误报或漏报。它取决于进程信息和可能决定使用哪个终端的环境变量。可以传入env对象来模拟特定终端的使用。这对于检查特定环境设置的行为非常有用。
要强制实施特定颜色支持,请使用以下环境设置之一。
- 2 种颜色:
FORCE_COLOR = 0(禁用颜色) - 16 种颜色:
FORCE_COLOR = 1 - 256 种颜色:
FORCE_COLOR = 2 - 16,777,216 种颜色:
FORCE_COLOR = 3
还可以使用NO_COLOR和
NODE_DISABLE_COLORS环境变量来禁用颜色支持。
writeStream.getWindowSize()#
- 返回:<数字[]>
writeStream.getWindowSize()返回与此WriteStream对应的 TTY 的大小。该数组的类型为
[numColumns, numRows],其中numColumns和numRows表示相应 TTY 中的列数和行数。
writeStream.hasColors([count][, env])#
count<整数>请求的颜色数量(最少 2)。 默认值: 16。env<Object>包含要检查的环境变量的对象。这使得能够模拟特定终端的使用。默认值:process.env。- 返回:<布尔值>
如果writeStream支持的颜色至少与count中提供的颜色一样多,则返回 true 。最小支持度为 2(黑色和白色)。
这具有与writeStream.getColorDepth()中描述的相同的误报和漏报
。
process.stdout.hasColors();
// Returns true or false depending on if `stdout` supports at least 16 colors.
process.stdout.hasColors(256);
// Returns true or false depending on if `stdout` supports at least 256 colors.
process.stdout.hasColors({ TMUX: '1' });
// Returns true.
process.stdout.hasColors(2 ** 24, { TMUX: '1' });
// Returns false (the environment setting pretends to support 2 ** 8 colors).
writeStream.isTTY#
始终为 true 的boolean。
writeStream.moveCursor(dx, dy[, callback])#
dx<数字>dy<数字>callback<Function>操作完成后调用。- 返回:<boolean>
false如果流希望调用代码在继续写入其他数据之前等待发出'drain'事件;否则true。
writeStream.moveCursor()相对于其当前位置移动此WriteStream的光标。
writeStream.rows#
number指定 TTY 当前拥有的行数。每当发出'resize'事件时,此属性都会更新。
tty.isatty(fd)#
如果给定的fd与 TTY 关联,则 tty.isatty()方法返回true;如果未关联,则返回false ,包括每当fd不是非负整数。