我在node.js这个非常基本的例子中得到了process.nextTick错误。
有人可以搞清楚吗? 节点是否无法开始侦听端口8000?
# cat nodejs.js
net = require("net");
s = net.createServer();
net.on('connection', function (c) {
c.end('hello');
});
s.listen(8000);
# node nodejs.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object #<Object> has no method 'on'
at Object.<anonymous> (/home/ec2-user/praveen/nodejs.js:4:5)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)
答案 0 :(得分:10)
这是Ryan幻灯片中的错字! :-0
s/net.on/s.on/
答案 1 :(得分:4)
您似乎正在尝试捕获库中的事件(net
),但您应该查看the connectionListener argument to createServer。试试这个:
var net = require("net");
var server = net.createServer(function (c) {
c.end('Hello!'); // Implicitly fired on 'connection'
});
server.listen(8000);
答案 2 :(得分:1)
对于其他任何可能偶然发现的人在寻找为什么节点在尝试发出brunch watch --server
时发现此错误时,请检查并确保您没有使用相同端口运行任何其他服务器(即在另一个shell中) )。