我应该在节点js stdin或stdout中使用什么

时间:2013-04-07 09:09:24

标签: node.js

我正在编写此代码以获取用户的输入:

label Name:
input(in);

label LastName:
input(in);

process.stdin.resume();
process.stdin.setEncoding('utf8');

process.stdin.on('data', function(chunk){
process.stdout.write('data: ' +chunk);
});

process.stdin.on('end', function(){
process.stdout.write('end');
});

我一直在收到此错误“语法错误:意外令牌”。 我不明白为什么。 你能帮助我吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定您收到的语法错误,但是对于来自命令行的用户输入,来自nodejitsu的prompt模块非常棒。

var prompt = require('prompt');

//
// Start the prompt
//
prompt.start();

//
// Get two properties from the user: username and email
//
prompt.get(['firstname', 'lastname'], function (err, result) {
  //
  // Log the results.
  //
  console.log('Command-line input received:');
  console.log('  firstname: ' + result.firstname);
  console.log('  lastname: ' + result.lastname);
});

提示github页面有很多涉及验证等更复杂情况的例子。