同步接受nodejs中一系列命令行输入的最佳方法是什么? 喜欢该程序将打印 Enter Value for variable one 然后用户输入值,之后命令行应该询问第二个输入 Enter Value for variable two 等等 最简单的方
喜欢该程序将打印
Enter Value for variable one
然后用户输入值,之后命令行应该询问第二个输入
Enter Value for variable two
等等
最简单的方法是,恕我直言,向用户展示“问题”并等待他的答案.这些问题可以始终相同(像“>>”这样的提示)或者可能不同(例如,如果您想要求某些变量).要显示这些问题,您可以使用stdio.它是一个简化标准输入/输出管理的模块,其主要功能之一正是您想要的:
var stdio = require('stdio'); stdio.question('What is your name?', function (err, name) { stdio.question('Are you male or female?', ['male', 'female'], function (err, sex) { console.log('Your name is "%s". You are "%s"', name, sex); }); });
如果你运行前面的代码,你会看到这样的事情:
What is your name?: John Are you male or female? [male/female]: female Your name is "john". You are "female"
如果您指定一组可能的答案,则stdio包括对重试的支持.否则用户将能够编写他们想要的任何内容.
PD:我是stdio的创造者.