Socket.io 和快递 4
Socket.io and Express 4
我正在使用 node.js、express 4 和 socket.io(最新版本)构建一个简单的网络应用程序。
我的问题是 socket.io(来自他们的网站)的提议语法与我从 express 获得的语法不一致。
这是包含所有内容并开始使用的 socket.io 方法:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
问题是我使用 express-generator 自动生成了一个项目,我的代码开头如下所示:
var express = require('express'),
path = require('path'),
favicon = require('serve-favicon'),
logger = require('morgan'),
cookieParser = require('cookie-parser'),
bodyParser = require('body-parser'),
request = require('request');
var routes = require('./routes/index'),
users = require('./routes/users');
var app = express();
此外,这是我的 'bin/www' 文件:
#!/usr/bin/env node
var debug = require('debug')('ase');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
我似乎没有找到对 'http' 包的任何引用,运行 socket.io 似乎依赖于它。
在 express 4 项目中包含和使用 socket.io 的正确方法是什么?
作为附带问题,我应该如何构建我的代码?也就是说,我应该将我所有的 socket.io 逻辑包含在 app.js 中(我认为不是)还是我应该制作另一个文件并 link 它?
有什么想法吗?
对于你的前两个问题,我相信这个 post 会帮助你 Using socket.io in Express 4 and express-generator's /bin/www
至于你最后一个问题,你应该把相关的socket.io逻辑放在文件中需要的地方。它绝对不应该全部存储在一个地方。在 chat example of socket.io 中,您会注意到它们将 socket.io 逻辑与发送消息时和接收消息时分开。
我正在使用 node.js、express 4 和 socket.io(最新版本)构建一个简单的网络应用程序。
我的问题是 socket.io(来自他们的网站)的提议语法与我从 express 获得的语法不一致。
这是包含所有内容并开始使用的 socket.io 方法:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
问题是我使用 express-generator 自动生成了一个项目,我的代码开头如下所示:
var express = require('express'),
path = require('path'),
favicon = require('serve-favicon'),
logger = require('morgan'),
cookieParser = require('cookie-parser'),
bodyParser = require('body-parser'),
request = require('request');
var routes = require('./routes/index'),
users = require('./routes/users');
var app = express();
此外,这是我的 'bin/www' 文件:
#!/usr/bin/env node
var debug = require('debug')('ase');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
我似乎没有找到对 'http' 包的任何引用,运行 socket.io 似乎依赖于它。
在 express 4 项目中包含和使用 socket.io 的正确方法是什么?
作为附带问题,我应该如何构建我的代码?也就是说,我应该将我所有的 socket.io 逻辑包含在 app.js 中(我认为不是)还是我应该制作另一个文件并 link 它?
有什么想法吗?
对于你的前两个问题,我相信这个 post 会帮助你 Using socket.io in Express 4 and express-generator's /bin/www
至于你最后一个问题,你应该把相关的socket.io逻辑放在文件中需要的地方。它绝对不应该全部存储在一个地方。在 chat example of socket.io 中,您会注意到它们将 socket.io 逻辑与发送消息时和接收消息时分开。