首页 > 解决方案 > 在nodejs中从stdin读取的正确方法

问题描述

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

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

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

我想知道从 nodejs 中的标准输入读取的正确方法是什么。

标签: node.js

解决方案


process全局有一个stdin接口。这将在用户输入文本并按下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


推荐阅读