📜  如何在 Node.js 中获取输入?(1)

📅  最后修改于: 2023-12-03 15:08:43.673000             🧑  作者: Mango

如何在 Node.js 中获取输入?

在 Node.js 中,可以通过 process.stdin 获取一个可读流,然后监听 data 事件来获取用户的输入。

代码示例

以下是一个简单的示例,演示如何获取用户的输入并将其输出到控制台:

process.stdin.on('data', (data) => {
  const input = data.toString().trim()
  console.log(`您输入了:${input}`)
})

在这个示例中,我们监听 process.stdindata 事件,当用户输入时,该事件将被触发。我们将接收到的数据转换为字符串,并使用 trim() 方法删除两端的空格,然后将其输出到控制台。

使用 readline 模块

如果要获取多行输入,或者需要进行更高级的交互,可以使用 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.stdinreadline 模块来获取用户输入。无论是单行输入还是多行输入,都可以轻松地实现。通过这些工具,我们可以更方便地与用户进行交互,编写更加灵活的命令行程序。