2015-02-06 64 views
-1

我试图运行基本节点应用程序。我只想打印我的stdin的内容。下面是代码:console.log是节点中的意外标识符

process.stdin.resume(); 
process.stdin.on("data", function(data) 
    console.log("recieved " + data) 
}); 

process.stdin.emit('data', 'abc'); 

当我运行代码,我得到这个错误:

console.log("recieved " + data) 
    ^^^^^^^ 
SyntaxError: Unexpected identifier 
    at Module._compile (module.js:439:25) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:929:3 

为什么node不承认我的console.log

+3

你错过了一个开放的大括号。 'process.stdin.on(“data”,function(data){' – Intelekshual 2015-02-06 19:02:44

+0

)语法错误指向问题对于解析器来说变得明显的地方。通常可以在错误的实际原因之后,所以也考虑上面的行。 – 2015-02-06 19:11:05

回答

2

注意错误意味着预期不同的字符类型:不是字母。 在这种情况下,您缺少{。继续尝试:

process.stdin.resume(); 
process.stdin.on('data', function(data) { 
    console.log('recieved', data); 
}); 

process.stdin.emit('data', 'abc'); 

我希望这会对你有用。