【问题标题】:How to provide a default answer to readline in node.js如何在 node.js 中为 readline 提供默认答案
【发布时间】:2012-03-06 09:21:09
【问题描述】:
js 以创建命令行向导。
向导使用rl.question(query, callback) 方法向用户提出一些问题。
问题是我想提出问题并提供默认答案,以便让用户能够按 Enter 确认默认答案、编辑默认答案或取消默认答案并按 Enter 键跳过这个问题。
类似这样的:
你最喜欢的颜色是什么?红_
如果用户按下回车键:答案将是红色
如果用户将红色更改为绿色:答案将是绿色
如果用户取消红色并按回车:答案将为“”,向导将跳至下一个问题。
你知道如何用 Node.js 做这样的事情吗?
【问题讨论】:
标签:
node.js
command-line
module
wizard
readline
【解决方案1】:
你可以在 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');
【解决方案2】:
最简单的方法:
rl.question(query, answer => {
answer = answer || 'Red';
)
只需覆盖空字符串答案案例。