"提示未定义"从命令行使用节点?

时间:2014-06-18 17:44:05

标签: javascript node.js

我试图从命令行运行一个简单的javascript程序,并收到意外错误。提示似乎是一个简单的JavaScript命令;不确定为什么没有定义。

我的test.js文件:

console.log("I will now ask you for your name.");
var name = prompt("Enter your name");
console.log("Hello ".concat(name, ". How are you"));

我这样运行:

C:\directory\node test.js
I will now ask you for your name.

C:\directory\test.js:2
var name = prompt("Enter your name");

Reference Error: prompt is not defined

2 个答案:

答案 0 :(得分:1)

我想您可能对此代码感兴趣:

console.log("I will now ask you for your name.");
process.stdin.setEncoding('utf8');
var name;
process.stdin.on('readable', function() {
    name = process.stdin.read();
    if (name !== null) {
        console.log("Hello ".concat(name, ". How are you"));
        process.exit();
    }
});

这是执行您需要做的事情的node.js方式。 希望这可以帮助!

答案 1 :(得分:1)

您可能也想检查一下,但先运行npm install prompt -- save

var prompt = require("prompt");
prompt.start();
console.log("I will now ask you for your name.");
prompt.get(["name"], function(err, res){
console.log("Hello ".concat(res.name, ". How are you"));
});