Я подумал сделать простой серверный http-сервер с некоторым расширением консоли. Я нашел фрагмент для чтения из данных командной строки.
var i = rl.createInterface(process.stdin, process.stdout, null);
i.question('Write your name: ', function(answer) {
console.log('Nice to meet you> ' + answer);
i.close();
process.stdin.destroy();
});
Хорошо, если задавать вопросы несколько раз, я не могу просто использовать цикл while (done) {}
? Также хорошо, если сервер получает вывод во время вопроса, это портит строку.
Самый Легкий путь состоит в том, чтобы использовать readline-синхронизацию
, Это обрабатывает один за другим вход и помещает.
npm i readline-sync
, например:
var firstPrompt = readlineSync.question('Are you sure want to initialize new db? This will drop whole database and create new one, Enter: (yes/no) ');
if (firstPrompt === 'yes') {
console.log('--firstPrompt--', firstPrompt)
startProcess()
} else if (firstPrompt === 'no') {
var secondPrompt = readlineSync.question('Do you want to modify migration?, Enter: (yes/no) ');
console.log('secondPrompt ', secondPrompt)
startAnother()
} else {
console.log('Invalid Input')
process.exit(0)
}