网上大部分例子都是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~
是不是帖子沉太快。。还是分类没分好。貌似没人回答额。。
我的代码是这样写的。socket.io和express3的,不过我想express4也不是问题。
<preclass="brush:js;toolbar:true;auto-links:false;">varexpress=require('express');varapp=express();varhttp=require('http').Server(app);vario=require('socket.io')(http);varpath=require('path');varroutes=require('./routes');app.configure(function(){app.set('port',process.env.PORT||3001);app.set('views',__dirname+'/views');app.set('viewengine','ejs');app.use(express.favicon());app.use(express.logger('dev'));app.use(express.bodyParser());app.use(express.methodOverride());app.use(express.cookieParser('iswear'));app.use(express.session());app.use(express.static(path.join(__dirname,'public')));routes(app,io);});http.listen(3001,function(){console.log('listeningon*:3000');});版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。