Ось така угода: я намагаюся використовувати socket.io у експрес-проекті. Після запуску Express Js 4 я оновив свій експрес-генератор, і тепер початкові функції програми переходять у ./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);
Гаразд, але я не можу зробити це всередині app.js, як рекомендується. Це слід зробити в ./bin/www, щоб працювати. в ./bin/www ось що я можу зробити, щоб це запрацювало:
var io = require('socket.io')(server)
Гаразд, це працює, але я не можу використовувати io var деінде ще, і я дійсно не хочу розміщувати свої функції socket.io у www
файлі.
Я припускаю , що це тільки базовий синтаксис, але я не можу отримати цю роботу, навіть не використовуючи module.exports = server
або server.exports = server
ні module.exports.io = app(io)
на WWW файл
Тож питання полягає в тому: як я можу використовувати socket.io, маючи цей файл / bin / www як початкову точку мого додатка?
./bin/www.
. Просто поставте його туди ж, де і вашvar app
.