2014-10-31 69 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'來釋放控制權給調用者。