node + now.js + connect给我一个错误

时间:2012-06-04 22:25:35

标签: node.js connect nowjs-sockets

我安装了node_module connect以使用静态方法。这是我的代码:

var http = require('http');
var connect = require('connect');
var nowjs = require("now");
var app = connect();

app.use(connect.static('/var/www/www.domain.com/htdocs'));

app.use(function(req, res){
    res.end();
});

http.createServer(app).listen(8001);


var everyone = nowjs.initialize(http);

但是我收到了一个错误:

[TypeError: Object #<Object> has no method 'listeners'] TypeError: Object #<Object> has no method 'listeners'
    at Object.wrapServer (/home/chris/nowjs/node_modules/now/lib/fileServer.js:23:29)
    at [object Object].initialize (/home/chris/nowjs/node_modules/now/lib/now.js:181:14)
    at Object.<anonymous> (/home/chris/nowjs/multiroomchat_server.js:15:22)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Array.0 (module.js:484:10)
    at EventEmitter._tickCallback (node.js:190:38)

怎么了?

1 个答案:

答案 0 :(得分:3)

http变量是对http模块的引用,而不是对创建的http服务的引用。您需要从createServer()获取传回的变量并将其传递给Now.js.值得庆幸的是listen()链接它,你不必分手。

var server = http.createServer(app).listen(8001);
var everyone = nowjs.initialize(server);