Node.js 控制台输入不正确?

Node.js 控制台输入不正确?,node.js,Node.js,我正在编写一个node.js应用程序,并试图从控制台读取输入。但由于某种原因,它没有正确地遵循我的开关情况。以下是我所拥有的: process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { if(typeof chunk == "string") console.log('This should be working!');

我正在编写一个node.js应用程序,并试图从控制台读取输入。但由于某种原因,它没有正确地遵循我的开关情况。以下是我所拥有的:

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;
    }
});

无论我键入什么,我总是得到“未找到命令”和“这应该可以工作了!”。如果区块是一个字符串,为什么在键入“/Hi”时无法获得“Hi Back!”输出?

区块将以换行符结尾(例如“
\n
”),因此在切换之前只需去掉任何尾随空格:

process.stdin.on('data',函数(块){
chunk=chunk.replace(/\s+$/,“”);
开关(块){
案例“/退出”:
// ...

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

process.stdin.on('data',函数(块){
chunk=chunk.replace(/\s+$/,“”);
开关(块){
案例“/退出”:
// ...

太棒了!效果非常好。我在想是什么黑魔法阻止了它的工作。太棒了!效果非常好。我在想是什么黑魔法阻止了它的工作。