2014-10-31 3 views
3

내 chromebook에서 가장 좋은 옵션 인 것처럼 full time IDE로 cloud9로 옮기기를 시도했습니다. 그러나, 나는 사용자로부터 텍스트 입력을 요구하는 기본 프로그램을 만들려고 노력하고 있지만, 코드는 내가 가르쳤다. var x = prompt("y"); does not는 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(); 
}); 

는 다음 명령

node app.js 

를 실행하고 위의 질문에 대답.

어떻게됩니까? require 문은 'readline'모듈의 public 메소드를 노출하며, 그 중 하나는 'createInterface'메소드입니다. 이 메소드는 입력 및 출력을 옵션으로 사용합니다.

다른 모양의 입력 및 출력 소스를 지정할 수 있지만이 경우 전역 노드 'process'변수의 'stdin'및 'stdout'속성을 사용하고 있습니다. 이것들은 콘솔과의 입출력을 지정합니다.

다음으로 작성한 readline 객체의 question 메소드를 호출하고 콜백 함수를 지정하여 사용자 입력을 다시 사용자에게 표시합니다. 호출자에게 컨트롤을 반환하기 위해 readline에서 'close'가 호출됩니다.

관련 문제