Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获引用错误:未定义io_Javascript_Node.js_Express_Socket.io - Fatal编程技术网

Javascript 未捕获引用错误:未定义io

Javascript 未捕获引用错误:未定义io,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我知道这是一个错误在这里谈论了很多。但在通过谷歌找到一些帖子后,它仍然没有解决我的问题 当我试图在index.html中包含io javascript时,出现上述错误 我试过: 和 甚至尝试将端口切换到3000。尽管如此,这个问题仍然存在 我已尝试重新启动app.js并使用npm install socket.io重新安装socket.io(尽管它在我的软件包中)。我看到在我的node_modules文件夹中创建了一个socket.io文件夹 我按如下方式启动服务器: var express

我知道这是一个错误在这里谈论了很多。但在通过谷歌找到一些帖子后,它仍然没有解决我的问题

当我试图在index.html中包含io javascript时,出现上述错误

我试过:

甚至尝试将端口切换到3000。尽管如此,这个问题仍然存在

我已尝试重新启动app.js并使用
npm install socket.io
重新安装socket.io(尽管它在我的软件包中)。我看到在我的node_modules文件夹中创建了一个socket.io文件夹

我按如下方式启动服务器:

var express = require('express');

var app = express(), 
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

app.listen(8080);
我的索引还从Google加载最新的jQuery:

当我重新启动app.js时,我的终端显示socket.io已启动:

23 Jun 13:31:56 - [nodemon] starting `node app.js`
   info  - socket.io started
总共是My index.html(我从教程中重新键入/重新建模了它:)


var socket=io.connect();
socket.on('connect',function(){
emit('adduser',提示符('Hoe?);
});
socket.on('updateChat',函数(用户名、数据){
$(“#对话”).append(“”+username+”表示:“+data+”
”); }); socket.on('updateUsers',函数(数据){ $('#users').empty(); $。每个(数据、函数(k、v){ $(“#用户”)。追加(“”+k+“”); }); }); $(文档).ready(函数(){ $('#datasend')。单击(函数(){ //获取消息并清空输入 var msg=$(“#数据”).val(); $('数据').val(''); //让服务器与消息一起执行sendchat 发出(“sendChat”,msg); }); //输入键 $(“#数据”)。按键(功能(e){ keyCode=(e.keyCode?e.keyCode:e.which); 如果(键代码==13){ $(this.blur(); $('#datasend')。焦点()。单击(); } }); }); 使用者
在代码中,更改此选项

app.listen(8080);
对此

server.listen(8080);

错误在哪里?在客户端还是在服务器上?(我假设你在这里发布的代码是服务器端的,我真的希望是这样)它在我的Chrome控制台中。这就是客户端。你想发布你正在使用的客户端代码吗?此引用错误与服务器端无关。@BenjaminGruenbaum请参阅我的编辑尝试相对路径(而不是
http://localhost:8080/socket.io/socket.io.js
使用
socket.io.js
(假设它在同一个目录中)。这听起来像是socket.io没有正确加载到浏览器
server.listen(8080);