您好,登錄后才能下訂單哦!
小編這次要給大家分享的是Node.js API中tty有什么功能和用法,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
tty 可以理解為終端的意思。tty 模塊提供終端相關的接口,用來獲取終端的行數列數等。
通過 const tty = require(‘tty'); 的方式引用 tty 模塊
說明:
此屬性位于 process 模塊,用來判斷 Node.js 是否運行在一個 TTY 環境中
demo:
console.log(process.stdout.isTTY) //true
tty.ReadStream 類
說明:
tty.ReadStream 類是 net.Socket 的一個子類,表示 TTY 的可讀部分。
正常情況下,process.stdin 是 Node.js 進程中唯一的 tty.ReadStream 實例,無需創建更多的實例
也就是說不需要我們手動 new 一個實例,直接使用 process.stdin 即可。
說明:
是否為原始模式,默認值為 false 。如果TTY被配置成原始模式,該屬性值為 true
demo:
console.log(process.stdin.isRaw) //false
說明:
該方法用來將 TTY 配置為原始模式。原始模式下,輸入按字符逐個生效,終端對字符的所有特殊處理會被禁用,包括應答輸入的字符。 該模式中 CTRL+C 不再產生 SIGINT。
mode:傳遞 true 或者 false 來關閉和開啟原始模式,對應 readStream.isRaw 的值也會發生改變。
demo:
process.stdin.setRawMode(true); // 開啟原始模式 console.log(process.stdin.isRaw); //true process.stdin.setRawMode(false); // 關閉原始模式 console.log(process.stdin.isRaw); //false
tty.WriteStream 類
說明:
tty.WriteStream 類是 net.Socket 的一個子類,表示 TTY 的可寫部分。
正常情況下,process.stdout 和 process.stderr 是 Node.js 進程中唯一的 tty.WriteStream 實例,無需創建更多的實例。
說明:
此屬性用來表示當前TTY具有的列數,當resize時間被觸發時,該屬性會被更新。
demo:
console.log(process.stdout.columns); //88
說明:
次屬性用來表示當前TTY具有的行數,當resize時間被觸發時,該屬性會被更新。
demo:
console.log(process.stdout.rows); //40
說明:
當TTY窗口發生變化時,會觸發resize事件。
demo:
process.stdout.on('resize', () => { console.log('窗口大小發生變化!'); console.log(`${process.stdout.columns}x${process.stdout.rows}`); }); // > 窗口大小發生變化! // 86x40 // > 窗口大小發生變化! // 85x40 // > 窗口大小發生變化! // 84x40
說明:
如果給定的 fd 有關聯 TTY,則返回 true,否則返回 false。
fd 數值類型的文件描述符。
demo:
console.log(tty.isatty(2)); //true console.log(tty.isatty(200)); //false
看完這篇關于Node.js API中tty有什么功能和用法的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。