本文概述
- 类:ReadStream
- 类:WriteStream
- Node.js TTY示例
你必须使用require(‘ tty’ )来访问此模块。
句法:
var tty = require('tty');
当Node.js发现它正在TTY上下文中运行时, 则:
- process.stdin将是tty.ReadStream实例
- process.stdout将是tty.WriteStream实例
node -p -e "Boolean(process.stdout.isTTY)"
文章图片
类:ReadStream 它包含一个net.Socket子类, 该子类表示tty的可读部分。在正常情况下, tty.ReadStream在任何Node.js程序中只有一个名为process.stdin的实例(仅当isatty(0)为true时)。
rs.isRaw:这是一个布尔值, 已初始化为false。它指定tty.ReadStream实例的当前” 原始” 状态。
rs.setRawMode(mode):应该为true或false。它用于设置tty.ReadStream的属性以充当原始设备或默认设备。 isRaw将设置为结果模式。
类:WriteStream 它包含一个net.Socket子类, 该子类表示tty的可写部分。在正常情况下, tty.WriteStream在任何Node.js程序中只有一个名为process.stdout的实例(仅当isatty(1)为true时)。
调整大小事件:更改列或行属性中的任何一个时, 将使用此事件。
【Node.js TTY示例】句法:
process.stdout.on('resize', () =>
{
console.log('screen size has changed!');
console.log(`${process.stdout.columns}x${process.stdout.rows}`);
});
ws.columns:用于给出TTY当前具有的列数。此属性在” 调整大小” 事件上得到更新。
ws.rows:用于给出TTY当前具有的行数。此属性在” 调整大小” 事件上得到更新。
Node.js TTY示例 文件:tty.js
var tty = require('tty');
process.stdin.setRawMode(true);
process.stdin.resume();
console.log('I am leaving now');
process.stdin.on('keypress', function(char, key) {
if (key &
&
key.ctrl &
&
key.name == 'c') {process.exit()
}
});
输出
文章图片
推荐阅读
- Node.js计时器
- Node.js REPL编程实例
- Node.js字符串解码器StringDecoder
- Node.js流操作
- Node.js程序包管理器npm
- Node.js查询字符串
- Node.js Punycode用法
- Node.js进程详细解释
- Node.js路径示例