最佳答案
因此,这里的交易: 我试图在一个快速项目中使用 socket.io。在 Express Js 4发布之后,我更新了我的 Express 生成器,现在应用程序的初始函数进入 ./bin/www
文件,包括那些 vars (www 文件内容: http://jsfiddle.net/avMa5/)
var server = app.listen(app.get('port'), function() {..}
(通过 npm install -g express-generator
和 express myApp
检查
话虽如此,让我们回想一下 Socket.io 文档是如何要求我们启动它的:
var app = require('express').createServer();
var io = require('socket.io')(app);
好吧,但我不能像推荐的那样,在应用程序里做。这个应该在。为了工作。进去。/bin/www 这就是我能做的让它工作的方法:
var io = require('socket.io')(server)
好的,这个可以,但是我不能在其他任何地方使用 io 变量,而且我真的不想把 socket.io 函数放在 www
文件中。
我想这只是基本的语法,但是我不能让它工作,甚至不使用 module.exports = server
或 server.exports = server
或 module.exports.io = app(io)
的 www 文件
所以问题是: 我如何使用 socket.io 将这个/bin/www 文件作为我的应用程序的起点?