我正在尝试使用socket.io和node.js.
在socket.io的网站上的第一个例子后,我在浏览器的控制台中收到以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3001/socket.io/socket.io.js
Uncaught ReferenceError: io is not defined
Run Code Online (Sandbox Code Playgroud)
这是我的server.js
var app = require('express').createServer()
, io = require('socket.io').listen(app);
app.listen(3001);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8" />
</head>
<body>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function …Run Code Online (Sandbox Code Playgroud) 我已经按照以前一直为我工作的完全相同的步骤,通过express创建应用程序,将模块依赖项放在node_modules文件夹中.似乎找不到socket.io客户端javascript文件.
(我已经查看了其他人的修复,这是在脚本选项卡中包含JavaScript文件.我没有必要为我之前的节点+ socket.io项目执行此操作).
客户端上的JavaScript:
var socket = io.connect('http://localhost');
Run Code Online (Sandbox Code Playgroud)
服务器上的JavaScript:
var io = require('socket.io').listen(app);
Run Code Online (Sandbox Code Playgroud)
node_modules文件夹:
socket.io, which has an internal node_modules folder containing socket.io-client
Run Code Online (Sandbox Code Playgroud)
错误信息:
Uncaught ReferenceError: io is not defined
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
当我手动包含socket.io客户端时: http ://cdn.socket.io/stable/socket.io.js
我得到一个不同的错误:
Uncaught TypeError: Object #<Object> has no method 'connect'
(anonymous function)
Run Code Online (Sandbox Code Playgroud)