Voici donc le problème: j'essaye d'utiliser socket.io dans un projet express. Après le lancement d'Express Js 4, j'ai mis à jour mon générateur express et maintenant les fonctions initiales de l'application vont dans le ./bin/www
fichier, y compris ces vars (contenu du fichier www: http://jsfiddle.net/avMa5/ )
var server = app.listen(app.get('port'), function() {..}
(vérifiez-le d'ici npm install -g express-generator
et ensuiteexpress myApp
Cela étant dit, rappelons-nous comment la documentation socket.io nous demande de le déclencher:
var app = require('express').createServer();
var io = require('socket.io')(app);
Ok mais je ne peux pas le faire dans app.js, comme recommandé. Cela devrait être fait dans ./bin/www pour fonctionner. dans ./bin/www voici ce que je peux faire pour le faire fonctionner:
var io = require('socket.io')(server)
Ok cela fonctionne, mais je ne peux pas utiliser le var io ailleurs, et je ne veux vraiment pas mettre mes fonctions socket.io dans un www
fichier.
Je suppose que ce n'est qu'une syntaxe de base, mais je ne peux pas faire fonctionner cela, même pas en utilisant module.exports = server
ou server.exports = server
ni module.exports.io = app(io)
sur le fichier www
La question est donc: comment puis-je utiliser socket.io en ayant ce fichier / bin / www comme point de départ de mon application?
./bin/www.
. Mettez-le simplement au même endroit, là où vousvar app
êtes.