鍍金池/ 教程/ HTML/ TTY
模塊
斷言測試
Buffer
Smalloc
TTY
概述
REPL
HTTP
DNS
路徑
集群
TLS/SSL
系統(tǒng)
加密
調(diào)試器
進(jìn)程
Punycode
虛擬機(jī)
HTTPS
網(wǎng)絡(luò)
Query String
C/C++ 插件
實用工具
文件系統(tǒng)
Zlib
子進(jìn)程
UDP/Datagram Sockets
定時器
逐行讀取
字符串解碼器
全局對象
事件
URL
控制臺

TTY

穩(wěn)定性: 2 - 不穩(wěn)定

tty 模塊包含 tty.ReadStreamtty.WriteStream 類。多數(shù)情況下,你不必直接使用這個模塊。

當(dāng) node 檢測到自己正運行于 TTY 上下文時,process.stdin 將會是一個 tty.ReadStream 實例,并且 process.stdout 將會是 tty.WriteStream 實例。檢測 node 是否運行在 TTY 上下文的好方法是檢測 process.stdout.isTTY

$ node -p -e "Boolean(process.stdout.isTTY)"
true
$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false

tty.isatty(fd)

如果 fd 和終端相關(guān)聯(lián)返回 true ,否則返回 false

tty.setRawMode(mode)

已經(jīng)拋棄。使用 tty.ReadStream#setRawMode()(比如process.stdin.setRawMode()) 替換。

Class: ReadStream

net.Socket 的子類,表示 tty 的可讀部分。通常情況,在任何 node 程序里(僅當(dāng) isatty(0) 為 true 時), process.stdintty.ReadStream 的唯一實例。

rs.isRaw

Boolean 值,默認(rèn)為 false。它代表當(dāng)前 tty.ReadStream 實例的 "raw" 狀態(tài)。

rs.setRawMode(mode)

mode 需是 truefalse。它設(shè)定 tty.ReadStream 屬性為原始設(shè)備或默認(rèn)。isRaw 將會設(shè)置為結(jié)果模式。

Class: WriteStream

net.Socket 的子類,代表 tty 的可寫部分。通常情況下,process.stdouttty.WriteStream 唯一實例(僅當(dāng) isatty(1) 為 true 時)。

ws.columns

TTY 當(dāng)前 擁有的列數(shù)。觸發(fā) "resize" 事件時會更新這個值。

ws.rows

TTY 當(dāng)前 擁有的行數(shù)。觸發(fā) "resize" 事件時會更新這個值。

Event: 'resize'

function () {}

行或列變化時會觸發(fā) refreshSize() 事件。

process.stdout.on('resize', function() {
  console.log('screen size has changed!');
  console.log(process.stdout.columns + 'x' + process.stdout.rows);
});
上一篇:REPL下一篇:Zlib