如何从node.js中的用户获取控制台输入?

Lew*_*iky 6 javascript node.js cloud9-ide

我尝试转移到cloud9作为全时IDE,因为它似乎是我的chromebook上的最佳选择.但是,我正在尝试制作一个需要用户输入文本的基本程序,但我所教的代码var x = prompt("y");似乎并不适用于node.js.

如何获取用户输入并将其存储为node.js中的变量?

Ube*_*cer 10

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();
});
Run Code Online (Sandbox Code Playgroud)

从这里开始http://nodejs.org/api/readline.html#readline_readline

更具体地说,将此代码填入app.js文件,然后运行以下命令

node app.js
Run Code Online (Sandbox Code Playgroud)

并回答上面的问题.

怎么了?require语句公开'readline'模块的公共方法,其中一个是'createInterface'方法.此方法将输入和输出作为选项.

从它的外观来看,可以指定不同的输入和输出源,但在这种情况下,您使用全局节点"进程"变量的"stdin"和"stdout"属性.它们指定输入和输出控制台.

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


Zak*_*Zak 1

看一下以交互方式从控制台读取值

您只能在浏览器中使用 JavaScript 的 BOM(浏览器对象模型)功能,而不能在 Node JS 中使用。