node系列之readline

地址

传送门

说明

readline模块提供了一个接口,从readable流读取一行数据,比如process.stdin。其实就是,提供了一个交互,可输入也可输出。

基本用法

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

然后就是各种的监听事件。如line, 'close'等等。

rl.question('What do you think of Node.js? ', (answer) => { 
  // TODO: Log the answer in a database 
  console.log('Thank you for your valuable feedback:', answer);
  rl.close();
});

最好看的莫过于prompt了。

const rl = readline.createInterface({ 
  input: process.stdin, 
  output: process.stdout, 
  prompt: 'me> '
});
rl.prompt();
rl.on('line', (line) => { 
  //TODO your logic here
  rl.prompt();
}).on('close', () => {
  console.log('Have a great day!'); 
  process.exit(0);
});

这样就可以实现一种视觉效果

me> who you are?
me> 666

简单来说,就是多了一个前缀。

小结

readline基本没怎么用过。在用户交互方面还是有一定的作用的。可以基于这个模块来写工具。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,414评论 0 6
  • Node.js中文网的 v6.10.3 文档提供了readline模块,可以从可读流(process.stdin)...
    Evtion阅读 5,523评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • stream 流是一个抽象接口,在 Node 里被不同的对象实现。例如 request to an HTTP se...
    明明三省阅读 3,442评论 1 10
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,505评论 1 37