未定义Socket.io io

时间:2019-12-23 00:49:50

标签: node.js socket.io

我有以下代码index.html文件。我已经在NPM上安装了socket.io软件包。

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io();
</script>

我收到以下错误:

enter image description here

更新:使用CDN链接,现在我在客户端控制台上收到以下错误。

enter image description here

2 个答案:

答案 0 :(得分:2)

可能有很多原因。我发现最常见的方法是最初如何声明Socket.io。

正确的设置应如下所示:

const express = require('express');
const app = require('express')();
const http = require('http').createServer(app);
const io = require('socket.io')(http);

我注意到另一个回答说该文件使用CDN版本是一个错误的解决方案。如果服务器端设置正确,则Socket.io应该为此生成自己的文件。

如果对此有任何疑问,请告诉我。

答案 1 :(得分:1)

尝试使用CDN version

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script>
  const socket = io();
</script>

编辑:如果您遇到这些错误,则表示客户端socket.io已正确插入,并且服务器端现在出现了某种问题。例如,如果您的socket.io服务器在端口8000上运行,请尝试按以下方式运行连接:

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script>
  const socket = io('http://localhost:8000');
</script>