【发布时间】:2014-12-28 07:24:11
【问题描述】:
我尝试将 cloud9 作为全职 IDE 迁移,因为它似乎是我 chromebook 上的最佳选择。但是,我正在尝试制作一个需要用户输入文本的基本程序,但我教过的代码 var x = prompt("y"); 在 node.js 中似乎不起作用。
如何获取用户输入并将其作为变量存储在 node.js 中?
【问题讨论】:
标签: javascript node.js cloud9-ide
我尝试将 cloud9 作为全职 IDE 迁移,因为它似乎是我 chromebook 上的最佳选择。但是,我正在尝试制作一个需要用户输入文本的基本程序,但我教过的代码 var x = prompt("y"); 在 node.js 中似乎不起作用。
如何获取用户输入并将其作为变量存储在 node.js 中?
【问题讨论】:
标签: javascript node.js cloud9-ide
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 对象的 question 方法,并指定回调函数将用户输入显示回给用户。在 readline 上调用 'close' 以将控制权释放回调用者。
【讨论】:
看看Reading value from console, interactively。
您只能在浏览器中使用 JavaScript 的 BOM(浏览器对象模型)功能,而不能在 Node JS 中使用。
【讨论】: