Node.js API详解之 tty功能与用法实例分析
本文实例讲述了Node.js API详解之 tty功能与用法。分享给大家供大家参考,具体如下
tty 可以理解为终端的意思。tty 模块提供终端相关的接口,用来获取终端的行数列数等。
通过 const tty = require(‘tty'); 的方式引用 tty 模块
process.stdout.isTTY
说明
此属性位于 process 模块,用来判断 Node.js 是否运行在一个 TTY 环境中
demo
console.log(process.stdout.isTTY) //true
tty.ReadStream 类
说明
tty.ReadStream 类是 .Socket 的一个子类,表示 TTY 的可读部分。
正常情况下,process.stdin 是 Node.js 进程中唯一的 tty.ReadStream 实例,无需创建更多的实例
也就是说不需要我们手动 new 一个实例,直接使用 process.stdin 即可。
readStream.isRaw
说明
是否为原始模式,默认值为 false 。如果TTY被配置成原始模式,该属性值为 true
demo
console.log(process.stdin.isRaw) //false
readStream.setRawMode(mode)
说明
该方法用来将 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 类是 .Socket 的一个子类,表示 TTY 的可写部分。
正常情况下,process.stdout 和 process.stderr 是 Node.js 进程中唯一的 tty.WriteStream 实例,无需创建更多的实例。
writeStream.columns
说明
此属性用来表示当前TTY具有的列数,当resize时间被触发时,该属性会被更新。
demo
console.log(process.stdout.columns); //88
writeStream.rows
说明
次属性用来表示当前TTY具有的行数,当resize时间被触发时,该属性会被更新。
demo
console.log(process.stdout.rows); //40
Event: resize
说明
当TTY窗口发生变化时,会触发resize事件。
demo
process.stdout.on('resize', () => { console.log('窗口大小发生变化!'); console.log(`${process.stdout.columns}x${process.stdout.rows}`); }); // > 窗口大小发生变化! // 86x40 // > 窗口大小发生变化! // 85x40 // > 窗口大小发生变化! // 84x40
tty.isatty(fd)
说明
如果给定的 fd 有关联 TTY,则返回 true,否则返回 false。
fd 数值类型的文件描述符。
demo
console.log(tty.isatty(2)); //true console.log(tty.isatty(200)); //false
希望本文所述对大家node.js程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程