Синхронное чтение стандартного ввода в Windows - PullRequest
3 голосов
/ 10 декабря 2011

Я делал это для синхронного чтения всех данных stdin под Linux:

var buffer = fs.readFileSync('/dev/stdin');

Это, очевидно, не будет работать в Windows, так как нет файла / dev / stdin.Что я могу сделать, чтобы добиться того же?

Ответы [ 2 ]

10 голосов
/ 16 марта 2012
var size = fs.fstatSync(process.stdin.fd).size;
var buffer = size > 0 ? fs.readSync(process.stdin.fd, size)[0] : '';
3 голосов
/ 13 января 2015

Модуль readline-sync выполняет работу очень хорошо.

npm install readline-sync

, а затем:

var readlineSync = require('readline-sync');
var answer = readlineSync.question('What is your favorite food? :');
console.log('Oh, so your favorite food is ' + answer);

https://www.npmjs.com/package/readline-sync

...