穩定性: 2 - 不穩定
tty
模塊包含 tty.ReadStream
和 tty.WriteStream
類。多數情況下,你不必直接使用這個模塊。
當 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
如果 fd
和終端相關聯返回 true
,否則返回 false
。
已經拋棄。使用 tty.ReadStream#setRawMode()
(比如process.stdin.setRawMode()
) 替換。
net.Socket
的子類,表示 tty 的可讀部分。通常情況,在任何 node 程序里(僅當 isatty(0)
為 true 時), process.stdin
是 tty.ReadStream
的唯一實例。
Boolean
值,默認為 false
。它代表當前 tty.ReadStream
實例的 "raw" 狀態。
mode
需是 true
或 false
。它設定 tty.ReadStream
屬性為原始設備或默認。isRaw
將會設置為結果模式。
net.Socket
的子類,代表 tty 的可寫部分。通常情況下,process.stdout
是 tty.WriteStream
唯一實例(僅當 isatty(1)
為 true 時)。
TTY 當前 擁有的列數。觸發 "resize" 事件時會更新這個值。
TTY 當前 擁有的行數。觸發 "resize" 事件時會更新這個值。
function () {}
行或列變化時會觸發 refreshSize()
事件。
process.stdout.on('resize', function() {
console.log('screen size has changed!');
console.log(process.stdout.columns + 'x' + process.stdout.rows);
});