📅  最后修改于: 2023-12-03 15:08:43.673000             🧑  作者: Mango
在 Node.js 中,可以通过 process.stdin
获取一个可读流,然后监听 data
事件来获取用户的输入。
以下是一个简单的示例,演示如何获取用户的输入并将其输出到控制台:
process.stdin.on('data', (data) => {
const input = data.toString().trim()
console.log(`您输入了:${input}`)
})
在这个示例中,我们监听 process.stdin
的 data
事件,当用户输入时,该事件将被触发。我们将接收到的数据转换为字符串,并使用 trim()
方法删除两端的空格,然后将其输出到控制台。
如果要获取多行输入,或者需要进行更高级的交互,可以使用 Node.js 内置的 readline
模块。
以下是一个示例,演示如何使用 readline
模块从用户那里获取多行输入:
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.question('请输入一些内容:', (answer) => {
console.log(`您输入的内容是:${answer}`)
rl.close()
})
在这个示例中,我们创建了一个 readline
接口对象 rl
,并指定了输入流和输出流。然后,我们使用 rl.question()
方法来请求用户输入,并在用户输入后触发回调函数。在回调函数中,我们可以获取用户输入的内容,并将其输出到控制台。最后,我们调用 rl.close()
方法关闭 readline
接口对象。
在 Node.js 中,我们可以使用 process.stdin
和 readline
模块来获取用户输入。无论是单行输入还是多行输入,都可以轻松地实现。通过这些工具,我们可以更方便地与用户进行交互,编写更加灵活的命令行程序。