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