Quindi ecco l'affare: sto cercando di utilizzare socket.io in un progetto express. Dopo che Express Js 4 è stato lanciato, ho aggiornato il mio generatore di espresso e ora le funzioni iniziali dell'app vengono inserite nel ./bin/www
file, comprese quelle variabili (contenuto del file www: http://jsfiddle.net/avMa5/ )
var server = app.listen(app.get('port'), function() {..}
(controlla prima npm install -g express-generator
e poiexpress myApp
Detto questo, ricordiamo come i documenti socket.io ci chiedono di attivarlo:
var app = require('express').createServer();
var io = require('socket.io')(app);
Ok ma non posso farlo all'interno di app.js, come consigliato. Questo dovrebbe essere fatto in ./bin/www per poter funzionare. in ./bin/www questo è quello che posso fare per farlo funzionare:
var io = require('socket.io')(server)
Ok, funziona, ma non posso usare io var da nessun'altra parte, e davvero non voglio mettere le mie funzioni socket.io su www
file.
Immagino che questa sia solo una sintassi di base, ma non riesco a farlo funzionare, nemmeno usando module.exports = server
o server.exports = server
né module.exports.io = app(io)
sul file www
Quindi la domanda è: come posso usare socket.io avendo questo file / bin / www come punto di partenza della mia app?
./bin/www.
. Mettilo nello stesso posto, dov'è il tuovar app
.