📅  最后修改于: 2023-12-03 15:38:22.109000             🧑  作者: Mango
在 Node.js 中,可以使用 process.stdin
对象来获取用户的输入。用户可以通过命令行来输入参数,或者通过标准输入流 stdin
输入数据。
在 Node.js 中,可以使用 process.argv
对象来获取用户在命令行中输入的参数。process.argv
是一个数组,其中第一个元素是 Node.js 的可执行文件的路径,第二个元素是当前脚本文件的路径,后面的元素则是命令行中输入的参数。
// 获取命令行中输入的参数
const args = process.argv.slice(2);
console.log(args);
上面的代码会输出一个数组,其中包含了命令行中输入的所有参数。
例如,执行以下命令:
node index.js hello world
则上面的代码会输出:
[ 'hello', 'world' ]
除了通过命令行参数获取用户的输入之外,还可以使用标准输入流 stdin
来获取用户的输入。
// 监听标准输入流
process.stdin.on('data', function (data) {
console.log(data.toString());
});
上面的代码中,通过监听 stdin
对象的 data
事件,当有数据到达时就会触发该事件。在事件处理函数中,可以通过 console.log
输出获取到的数据。
为了结束输入,可以通过按下 Ctrl + D
组合键来发送一个结束信号。
除了使用标准输入流之外,还可以使用 Node.js 内置的 readline
模块来获取用户的输入。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请输入你的名字: ', (name) => {
console.log(`你好,${name}!`);
rl.close();
});
上面的代码中,通过创建一个 readline
实例来读取用户的输入。在 question
方法中,可以指定一个提示信息来提示用户输入数据。当用户输入完毕并按下回车键时,会触发 close
事件,可以在事件处理函数中输出获取到的数据。
以上就是在 Node.js 中获取用户输入的方法。可以根据需求选择适合自己的方法。