简体   繁体   English

Node.js + ExpressJS + Socket.IO TypeError:obj.on不是一个函数

[英]Node.js + ExpressJS + Socket.IO TypeError: obj.on is not a function

I have unfortunately hit a roadblock in my work. 不幸的是,我的工作遇到了障碍。 I have a node.js+ExpressJS back end hooked up to a front end via Socket.io and have created the server and client as follows: 我有一个通过Socket.io连接到前端的node.js + ExpressJS后端,并按如下所示创建了服务器和客户端:

app.js: 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: 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>

What happens when I crack open my console in browser is: 当我在浏览器中打开控制台时会发生以下情况:

io.connect();
TypeError: obj.on is not a function

Did I miss something, or is a stroke of misfortune fall into my code? 我错过了什么吗,还是不幸的事落入了我的代码?

Please try changing in your index.html: 请尝试更改您的index.html:

var socket = new io.Socket('localhost', {port: 2000});
socket.connect();

to: 至:

var socket = io.connect();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM