Node.js + ExpressJS + Socket.IO TypeError: obj.on is not a function
Node.js + ExpressJS + Socket.IO TypeError: obj.on is not a function
不幸的是,我在工作中遇到了障碍。我有一个 node.js+ExpressJS 后端通过 Socket.io 连接到前端,并按如下方式创建了服务器和客户端:
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();
不幸的是,我在工作中遇到了障碍。我有一个 node.js+ExpressJS 后端通过 Socket.io 连接到前端,并按如下方式创建了服务器和客户端:
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();