2014-10-31 666 views
3

我试图转移到cloud9作为一个全职的IDE,因为它似乎是我的chromebook上的最佳选择。但是,我试图做一个基本的程序,需要从用户输入文字,但代码我被教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'方法。此方法将输入和输出视为选项。

从外观上看,可以指定不同的输入和输出源,但在这种情况下,您正在使用全局节点“process”变量的“stdin”和“stdout”属性。这些指定输入和输出到控制台。

接下来调用您创建的readline对象的问题方法,并指定回调函数以将用户输入显示回给用户。 readline调用'close'来释放控制权给调用者。