2014-10-31 3 views
3

Я попытался переместиться в cloud9 как полноценную среду IDE, поскольку она кажется лучшим вариантом на моем хромонике. Тем не менее, я пытаюсь создать базовую программу, которая требует ввода текста от пользователя, но код, который мне преподавал var x = prompt("y");, похоже, не работает в node.js.Как я могу взять консольный ввод от пользователя в node.js?

Как я могу взять пользовательский ввод и сохранить его как переменную в node.js?

ответ

5
var readline = require('readline'); 

var rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 
}); 

rl.question("What do you think of node.js? ", function(answer) { 
    // TODO: Log the answer in a database 
    console.log("Thank you for your valuable feedback:", answer); 

    rl.close(); 
}); 

, как принято здесь http://nodejs.org/api/readline.html#readline_readline

Более конкретно, материал этот код в app.js файл, а затем выполните следующую команду

node app.js 

И ответить на этот вопрос выше.

Что происходит? оператор require предоставляет общедоступные методы модуля readline, одним из которых является метод createInterface. Этот метод принимает входные и выходные данные в качестве параметров.

Из внешнего вида можно указать различные источники ввода и вывода, но в этом случае вы используете свойства 'stdin' и 'stdout' переменной глобального процесса «process». Они определяют ввод и выход на консоль и обратно.

Далее вы вызываете метод вопроса для объекта readline, который вы создали, и указываете функцию обратного вызова для отображения пользовательского ввода обратно пользователю. «close» вызывается на readline, чтобы вернуть управление вызывающему абоненту.

Смежные вопросы