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基本没怎么用过。在用户交互方面还是有一定的作用的。可以基于这个模块来写工具。

你可能感兴趣的:(node系列之readline)