在 Node.js 中从命令行接收输入

如何使 Node.js CLI 程序具有交互性?

自 7 版本以来,Node.js 提供了 readline 模块来专门执行此操作:从可读流(例如 process.stdin 流)获取输入,该流在 Node.js 程序执行期间是终端输入,一次一行。

const readline = require('node:readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

rl.question(`What's your name?`, name => {
  console.log(`Hi ${name}!`);
  rl.close();
});

这段代码询问用户的姓名,一旦输入文本并且用户按下回车键,我们就会发送问候语。

question() 方法显示第一个参数(一个问题)并等待用户输入。 按下回车键后,它会调用回调函数。

在此回调函数中,我们关闭 readline 接口。

readline 提供了其他几种方法,请在上面链接的包文档中查看它们。

如果您需要要求输入密码,最好不要将其回显,而是显示一个 * 符号。

阅读时间
1 分钟
作者
flaviocopesMyles BorinsfhembergerLaRuaNaahmadawais
贡献
编辑此页