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