Node.js + ExpressJS + Socket.IO TypeError:obj.on不是一个函数
我不幸在我的工作中遇到了障碍。 我有一个node.js + ExpressJS后端通过Socket.io连接到前端,并创build了服务器和客户端,如下所示:
app.js:
var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); // Routes and io.on statement with listeners on 'connection' server.listen(2000); io.listen(2000);
index.html的:
<!doctype html> <!--- html stuff ---> <script src='/socket.io/socket.io.js'></script> <script src='/js/jquery.min.js></script> <script> $(document).ready(function() { var socket = new io.Socket('localhost', {port: 2000}); socket.connect(); // other js that doesn't get picked up }); </script>
当我在浏览器中打开我的控制台时会发生什么情况:
io.connect(); TypeError: obj.on is not a function
我错过了什么,或者是不幸陷入了我的代码?
请尝试更改您的index.html:
var socket = new io.Socket('localhost', {port: 2000}); socket.connect();
至:
var socket = io.connect();