控制台input不正确?

我正在写一个node.js应用程序,我正在尝试从控制台读取input。 不过出于某种原因,它并没有正确地跟踪我的开关情况。 这是我有什么:

process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { if(typeof chunk == "string") console.log('This should be working!'); switch(chunk) { case '/quit': console.log('Terminating Server...'); process.exit(); break; case '/hi': console.log('Hi Back!'); break; default: console.log('Command not found'); break; } }); 

无论我input什么,我都会得到“命令未find”和“这个应该工作!”。 如果该块是一个string,为什么我不能得到“回来!” 当我input“/嗨”输出?

该块将以换行符(例如“ \n ”)结束,因此在切换之前只删除任何尾随的空格:

 process.stdin.on('data', function (chunk) { chunk = chunk.replace(/\s+$/, ''); switch (chunk) { case '/quit': // ...