如何在node.js中为readline提供默认答案

时间:2012-03-06 09:21:09

标签: node.js command-line module wizard readline

js以创建命令行向导。

向导使用rl.question(query, callback)方法向用户提出一些问题。

问题在于我想提出问题并提供默认答案,以便让用户能够按Enter确认默认答案,编辑默认答案或取消默认答案并按Enter键跳过这个问题。

这样的事情:

  

你最喜欢的颜色是什么?红色_

如果用户按回车:答案将为红色 如果用户将红色变为绿色:答案将为绿色 如果用户取消红色并按回车:答案将为“”,向导将跳到下一个问题。

你知道怎么用Node.js制作这样的东西吗?

2 个答案:

答案 0 :(得分:2)

您可以在rl.question调用后使用rl.write将默认值添加到tty。

示例:

var readline = require('readline'),
rl = readline.createInterface(process.stdin, process.stdout);

rl.question('What is your favorite food? ', function(answer) {
        console.log('Oh, so your favorite food is ' + answer);
});
rl.write('Pizza');

答案 1 :(得分:0)

最简单的方法:

rl.question(query, answer => {
   answer = answer || 'Red';
)

只需覆盖空字符串答案即可。