我尝试将Cloud9作为我的全职IDE,因为它似乎是Chromebook上最好的选择。然而,我正在尝试制作一个需要用户输入文本的基本程序,但是我学到的代码var x = prompt("y");
在node.js中似乎不起作用。
我该如何在node.js中获取用户输入并将其存储为变量?
我尝试将Cloud9作为我的全职IDE,因为它似乎是Chromebook上最好的选择。然而,我正在尝试制作一个需要用户输入文本的基本程序,但是我学到的代码var x = prompt("y");
在node.js中似乎不起作用。
我该如何在node.js中获取用户输入并将其存储为变量?
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”属性。它们指定了从控制台输入和输出。接下来,调用读取行对象的question方法,并指定回调函数以将用户输入显示回用户。最后调用readline的close方法将控制权释放回调用方。