express4.0+socket.io整合的问题。
网上大部分例子都是express3.0.新版的api貌似差别蛮大,我装的4.0用网上的例子基本不能跑。就只能结合官网的例子,在这基础上修改。。
以下是部分代码
app.js
var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var ejs = require('ejs'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); io.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); socket.broadcast.emit('message','kan your hole family'); });
#!/usr/bin/env node var debug = require('debug')('webchat'); 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); });
修改完以后。能够正常访问,可以确定的是页面上的那段代码是没问题的。启动没报错。错是fail to load resource:localhost:3000/socket.io/socket.io.js。我猜是socket.io模块没监听到同一个3000端口上。。具体也不是很清楚怎么去描述。
另外想了解下,express4.0用express生成的项目架构。。为什么启动用npm start是读的bin/www这个文件。。而大部分网上的demo项目都是直接通过node xxx.js启动。。。
最后。求点express4.0的教程。。api看了下。东西太多。不好抓重点。。最好是完整4.0项目。。THX~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
express3的例子我也找了几个。。跟你这个差不多。。也能跑。现在我已经降回去3了。。4的例子实在太少。。还是熟悉了API在考虑升级
我的代码是这样写的。socket.io和express 3的,不过我想express 4也不是问题。
是不是帖子沉太快。。还是分类没分好。貌似没人回答额。。