Node.js readline.createInterface

🌙
手机阅读
本文目录结构

Node.js readline.createInterface(options)

版本历史

版本 变更
v8.3.0, 6.11.4 Remove max limit of crlfDelay option.
v6.6.0 The crlfDelay option is supported now.
v6.3.0 The prompt option is supported now.
v6.0.0 The historySize option can be 0 now.
v0.1.98 新增于: v0.1.98
  • options < Object>
    • input < stream.Readable> 要监听的可读流。此选项是必需的。
    • output < stream.Writable> 将逐行读取数据写入的可写流。
    • completer < Function> 用于 Tab 自动补全的可选函数。
    • terminal < boolean> 如果 input 和 output 应该被视为 TTY,并且写入 ANSI/VT100 转义码,则为 true。 默认值: 实例化时在 output 流上检查 isTTY。
    • historySize < number> 保留的最大历史记录行数。 要禁用历史记录,请将此值设置为 0。 仅当用户或内部 output 检查将 terminal 设置为 true 时,此选项才有意义,否则根本不会初始化历史记录缓存机制。 默认值: 30。
    • prompt - 要使用的提示字符串。默认值: ‘> ‘。
    • crlfDelay < number> 如果 \r 与 \n 之间的延迟超过 crlfDelay 毫秒,则 \r 和 \n 将被视为单独的行尾输入。 crlfDelay 将被强制转换为不小于 100 的数字。 可以设置为 Infinity, 这种情况下, \r 后跟 \n 将始终被视为单个换行符(对于使用 \r\n 行分隔符的文件读取可能是合理的)。 默认值: 100。
    • removeHistoryDuplicates < boolean> 如果为 true, 则当添加到历史列表的新输入行与旧的输入行重复时,将从列表中删除旧行。 默认值: false。

readline.createInterface() 方法创建一个新的 readline.Interface 实例。

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

一旦创建了 readline.Interface 实例,最常见的用例是监听 ‘line’ 事件:

rl.on('line', (line) => {
  console.log(`接收到:${line}`);
});

如果此实例的 terminal 为 true,则若它定义了一个 output.columns 属性则 output 流会获得最佳兼容性,并且如果或当列发生变化时, output 上会触发 ‘resize’ 事件(当它是 TTY 时,process.stdout 会自动执行此操作)。


更多内容请参考:Node.js readline 逐行读取,或者通过 点击对应菜单 进行查看;



AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>