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?