javascript - 托管时未在控制台中定义 Socket.io
问题描述
我是 socket.io 的新手并在 Raspberry Pi 上托管,所以我来这里寻求帮助!我目前想在我的网页上运行实时聊天,该网页托管在 apache2 上,域名为tuckermedia.org
. 当我在本地运行它时,我在运行 nodemon server.js 时没有收到错误,它应该运行它,但这似乎不适用于 Raspberry Pi。
当我将它托管在我的 Raspberry Pi 上时,我经常收到此错误:(Uncaught ReferenceError: io is not defined
下面的屏幕截图)
[ https://i.stack.imgur.com/asfu2.jpg][1]
现在,我已将我的脚本 SRC 更改为:<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
这就是它目前的样子。
然而,这仍然给我同样的问题。我确保我有 socket.io、nodemon 和其他我需要的包。我还确保我用 nodemon 启动了服务器,但我仍然得到同样的错误。
Raspberry Pi 上的 Nodemon 截图: https ://i.stack.imgur.com/Ao98P.jpg
如果你能帮助我,谢谢!如果您想进行对话,也可以在 Logans#9830 上给我发消息。谢谢!
HTML 代码:https ://pastebin.com/aGhqFFm8
script.js(客户端)代码:https ://pastebin.com/XkXJPDb2
server.js(服务器端)代码:https ://pastebin.com/YYvK1dwd
这是我的 Raspberry Pi 上的控制台源代码,与它在本地托管相比。
https://i.stack.imgur.com/oHndj.jpg
似乎我的某些文件甚至没有按应有的方式显示。
解决方案
在您的前端代码中应该有指向socket.io的正确链接。我想您的脚本路径如下:
<script src="/socket.io/socket.io.js"></script>
试试这个:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
推荐阅读
- python - 为python字典中的所有键添加新键
- sql - 如何使 postgres 快速搜索
- javascript - 在已经存在的 objectStore 上创建索引
- windows - 如何使用带有选项运行的任务计划程序运行批处理文件,无论是否登录
- python-3.x - 熊猫合并语句没有给我数据框之间的区别?
- c++ - 贪吃蛇游戏 - 食物牌的随机数生成器
- git - VS Code 跟踪更改为错误的 Repo
- javascript - javascript-比较数组中的两个字符串以查看它们是否相等
- node.js - AWS 第一台服务器访问第二台服务器上的文件
- java - 获取 jlabel 中文本的边界