关于Express4版本不支持express.createServer()

在学习Node.js过程中,发现Express 4.x版本移除了createServer()方法,导致WebSocket和Socket.IO集成时遇到问题。两种创建服务器的方式分别是app.listen()和http.createServer(app).listen(),后者在需要使用HTTP属性和方法时更为合适。当使用Express模块,为了解决WebSocket问题,需要将socket.io挂载到http.server上,而不是直接挂载到app上。Node.js快速更新使得一些书籍中的模块变得过时,为学习带来困扰。
摘要由CSDN通过智能技术生成

在学习《了不起的NodeJS》这本书时,调试书本的代码时发现,竟然报错说没有createServer()这个方法.

查看了一资料,原来新的版本的Express不兼容旧版本的方法,有些彻底删除了。

后来在测试websocket 和 socket.io 时,出现的问题让我非常困惑

服务器是跑起来了,但是websocket/socket.io 却没挂上去

旧版本的Express 搭建是这样的:

var express = require('express');
var sio = require('socket.io');
var app = express.createServer();
var io = sio.listen(app);
app.listen(3000);

而新版本抛弃了express.createServe()方法,将其变成var app = express(); 

//创建服务
var express = require('express');
var sio = require('socket.io');
var app = express();
var server = require('http').createServer(app);
var io = sio.listen(server);
server.listen(3000);

然后我们又有新的问题了:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值