Linux端末でノードを実行しているときに、ノードjsのreadlineモジュールから異常な動作をしています。モジュールは機能しますが、ユーザー入力が文であるかのように評価して参照エラーを返します。これは単なる単純なテストですが、動作させることができません...そして、私はすでに多くのチュートリアルを試しました。 HERESに私のコード:ノードjs readlineは入力を評価してエラーを返し続けます
'nodeReadlineTeste':function(){
var readline = require('readline');
//without terminal:false I was getting double lettering on terminal input...
var rl = readline.createInterface({input:process.stdin,output:process.stdout,terminal:false});
rl.question('What is your name? ',function(resp){getIt(resp)});
//this function is to bypass NODE assyncronous nature... I was getting the log before even answering.
function getIt (resp){console.log(resp); rl.close()};
},
//このメソッドを実行していると私の名前を応答するとき、私はこの結果を得るには:
> global.nodeReadlineTeste()
What is your name? undefined
> Daniel
ReferenceError: Daniel is not defined
at repl:1:1
at ContextifyScript.Script.runInThisContext (vm.js:44:33)
at REPLServer.defaultEval (repl.js:239:29)
at bound (domain.js:301:14)
at REPLServer.runBound [as eval] (domain.js:314:12)
at REPLServer.onLine (repl.js:440:10)
at emitOne (events.js:120:20)
at REPLServer.emit (events.js:210:7)
at REPLServer.Interface._onLine (readline.js:279:10)
at REPLServer.Interface._line (readline.js:626:8)
> Daniel
は、まさにそれを避けるために仮定readlineのではないでしたか?たぶん私は簡単な間違いをしています、もし私がそれを見つけるのを助けてください。前もって感謝します。
これは必ずしも問題ではありませんが、ノードREPLを使用する場合、 '>'は文/式の実行を期待していることを意味します。したがって、これで問題は解決されませんが、基本的にノードに「Daniel」を実行するように指示していますが、これはどのように行うのか分かりません。 –