node.js - 在nodejs中从stdin读取的正确方法

标签 node.js

https://github.com/nodejs/node/issues/7439

上面的页面显示fs.readFileSync(process.stdin.fd)无法正常工作。

fs.readFileSync(fs.openSync('/dev/stdin', 'rs'))从标准输入读取的正确方法?但似乎只在某些情况下有效,而不是在所有情况下。

我想知道在nodejs中从stdin读取的正确方法是什么。

最佳答案

process 全局有一个 stdin 接口(interface)。这将在用户输入文本并按键盘上的 Enter 后记录一行。

let buffer = ''
process.stdin.resume()
process.stdin.on('data', (d) => buffer = buffer.concat(d.toString()))

setTimeout(() => {
    // Exit after 5 seconds and print entered content
    console.log(buffer.toString('utf8'))
    process.exit(0)
}, 5000)

文档 - https://nodejs.org/api/process.html#process_process_stdin

关于node.js - 在nodejs中从stdin读取的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58143781/

相关文章:

javascript - 如何获取数组中的公共(public)值

javascript - 在 NodeJS 中解析类似 JSON 的数据

node.js - 确定 socket.io 是 TCP 还是 HTTP

node.js - 如何更新存储在排序集中的 Redis 中的元素?

node.js - npm 错误!代码 UNABLE_TO_GET_ISSUER_CERT_LOCALLY

javascript - 循环遍历任务 waterfall - promises bluebird

javascript - Angular2应用程序调用node.js函数

node.js - 当我尝试向我的 S3 存储桶 (Node.js) 发送内容时,AWS 缺少凭证

garbage-collection - Node.js 和 V8 垃圾回收

node.js - NPM 无法安装任何范围内的包