[英]unable to listen to node app
我正在尝试使用express和socket.io创建一个带有节点的应用程序,但是我遇到了一个问题。 在终端中,当我键入node app.js时,它说“ TypeError:Object#没有方法'listen'”相当于io.listen(http);
怎么了
错误
/Users/peter/Dropbox/testapp/app.js:15
http.listen(3000);
^
TypeError: Object #<Object> has no method 'listen'
码
// express module
var express = require('express'),
// http module
//http = require('http').createServer(app).listen(3001),
http = require('http'),
// socket.io module
//io = require('socket.io').listen(http);
io = require('socket.io'),
// node onject
app = express();
// create server
http.createServer(app);
//listen to server on port 3000
http.listen(3000);
// listen to http server object
io.listen(http);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
您说的是问题所在的行不是输出说的是问题所在的行,但是它们都是相同的问题。
listen()
不是http
一部分,而是对象ceateServer()
返回的(类型为http.Server
)。 这也是socket.io位的问题,因为它们都期望实际的服务器对象。 我想你想要的是:
var server = http.createServer(app);
io.listen(server);
server.listen(3000);
通过查看注释掉的代码,我可以理解为什么这可能会混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.