Usando socket.io no Express 4 e express-generator's / bin / www

Então, aqui está o problema: estou tentando usar o socket.io em um projeto expresso. Após o lançamento do Express Js 4, atualizei meu gerador expresso e agora as funções iniciais do aplicativo entram em./bin/www , incluindo os vars (conteúdo do arquivo www:http://jsfiddle.net/avMa5/ )

var server = app.listen(app.get('port'), function() {..}

(verifique pornpm install -g express-generator e depoisexpress myApp

Dito isto, vamos lembrar como o socket.io docs nos pede para acioná-lo:

var app = require('express').createServer();
var io = require('socket.io')(app);

Ok, mas não posso fazê-lo dentro do app.js, como recomendado. Isso deve ser feito em ./bin/www para funcionar. em ./bin/www, é isso que eu posso fazer para fazê-lo funcionar:

var io = require('socket.io')(server)

Ok, isso funciona, mas não posso usar o io var em nenhum outro lugar e realmente não quero colocar minhas funções socket.iowww Arquivo.

Acho que isso é apenas sintaxe básica, mas não consigo fazer isso funcionar, nem mesmo usandomodule.exports = server ouserver.exports = server nemmodule.exports.io = app(io) no arquivo www

Portanto, a pergunta é: como posso usar o socket.io com este arquivo / bin / www como ponto de partida do meu aplicativo?

questionAnswers(8)

yourAnswerToTheQuestion