本文实例讲述了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 类是 net.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 类是 net.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程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]