欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js API詳解之 tty功能與用法實例分析

 更新時間:2020年04月27日 08:57:35   作者:李小強  
這篇文章主要介紹了Node.js API詳解之 tty功能與用法,結(jié)合實例形式分析了Node.js API中tty的基本功能、用法及終端操作相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了Node.js API詳解之 tty功能與用法。分享給大家供大家參考,具體如下:

tty 可以理解為終端的意思。tty 模塊提供終端相關(guān)的接口,用來獲取終端的行數(shù)列數(shù)等。

通過 const tty = require(‘tty'); 的方式引用 tty 模塊

process.stdout.isTTY

說明:

此屬性位于 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 即可。

readStream.isRaw

說明:

是否為原始模式,默認值為 false 。如果TTY被配置成原始模式,該屬性值為 true

demo:

console.log(process.stdin.isRaw)
//false

readStream.setRawMode(mode)

說明:

該方法用來將 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)建更多的實例。

writeStream.columns

說明:

此屬性用來表示當(dāng)前TTY具有的列數(shù),當(dāng)resize時間被觸發(fā)時,該屬性會被更新。

demo:

console.log(process.stdout.columns);
//88

writeStream.rows

說明:

次屬性用來表示當(dāng)前TTY具有的行數(shù),當(dāng)resize時間被觸發(fā)時,該屬性會被更新。

demo:

console.log(process.stdout.rows);
//40

Event: resize

說明:

當(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

tty.isatty(fd)

說明:

如果給定的 fd 有關(guān)聯(lián) TTY,則返回 true,否則返回 false。

fd 數(shù)值類型的文件描述符。

demo:

console.log(tty.isatty(2));
//true
console.log(tty.isatty(200));
//false

希望本文所述對大家node.js程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解node如何讓一個端口同時支持https與http

    詳解node如何讓一個端口同時支持https與http

    眾所周知node是一個高性能的web服務(wù)器,使用它可以很簡單的創(chuàng)建一個http或https的服務(wù)器。這篇文章主要介紹了詳解node如何讓一個端口同時支持https與http
    2017-07-07
  • node命令以及切換node版本詳細步驟

    node命令以及切換node版本詳細步驟

    這篇文章主要給大家介紹了關(guān)于node命令以及切換node版本的相關(guān)資料,在使用node命令切換node版本時可以使用nvm(Node?Version?Manager)工具來管理不同版本的node,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 淺談Node.js:Buffer模塊

    淺談Node.js:Buffer模塊

    本篇文章主要介紹了Node.js:Buffer模塊,詳細的介紹了創(chuàng)建Buffer實例,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • 詳談Node.js之操作文件系統(tǒng)

    詳談Node.js之操作文件系統(tǒng)

    下面小編就為大家?guī)硪黄斦凬ode.js之操作文件系統(tǒng)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • nodejs基于express實現(xiàn)文件上傳的方法

    nodejs基于express實現(xiàn)文件上傳的方法

    這篇文章主要介紹了nodejs基于express實現(xiàn)文件上傳的方法,結(jié)合實例形式分析了nodejs基于express框架實現(xiàn)文件上傳功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Visual?Studio?Code中npm腳本找不到圖文解決辦法

    Visual?Studio?Code中npm腳本找不到圖文解決辦法

    這篇文章主要給大家介紹了關(guān)于Visual?Studio?Code中npm腳本找不到的圖文解決辦法,做前端開發(fā)如果項目達到了一定的規(guī)模就離不開npm了,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Node.js包管理工具(npm、yarn、cnpm)

    Node.js包管理工具(npm、yarn、cnpm)

    本文主要介紹了Node.js包管理工具,包含npm、yarn、cnpm者三種,借助包管理工具,可以快速開發(fā)項目,提升開發(fā)效率,下面就來具體介紹一下如何使用,感興趣的可以了解一下
    2024-08-08
  • express中static中間件的具體使用方法

    express中static中間件的具體使用方法

    這篇文章主要介紹了express中static中間件的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Node.js JSON模塊用法實例分析

    Node.js JSON模塊用法實例分析

    這篇文章主要介紹了Node.js JSON模塊用法,結(jié)合實例形式分析了node.js json模塊的基本語法,以及使用json模塊進行json格式數(shù)據(jù)解析的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • windows如何把已安裝的nodejs高版本降級為低版本(圖文教程)

    windows如何把已安裝的nodejs高版本降級為低版本(圖文教程)

    這篇文章主要介紹了windows如何把已安裝的nodejs高版本降級為低版本,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12

最新評論