NodeJS 9.8.0
找不到NodeJS客户端socket.io脚本。
package.json:
..."dependencies": {
"express": "latest",
"socket.io": "latest"
}...
index.js:
var http = require("http"),
express = require("express"),
io = require("socket.io").listen(http),
fs = require("fs");
var app = express();
var web = __dirname.split("\\").join("/")+"/web/";
app.get("/", function(req, res)
{
res.sendFile(web + "index.html");
});
app.get("/:file", function(req, res)
{
var file = web + req.param("file");
var err = web + "error.html";
fs.exists(file, function(exist)
{
if (exist) res.sendFile(file);
else fs.exists(err, function(exist)
{
if (exist) res.sendFile(err);
else res.send("<h1>Error! Page not found!</h1>");
});
});
});
// app.get("/*", function(req, res)
// {
// var err = web + "error.html";
// res.sendFile(err);
// });
io.sockets.on("connection", function(socket)
{
console.log(socket);
});
http.createServer(app).listen(8080);
的index.html:
...<script src="/socket.io/socket.io.js"></script>...
和错误:socket.io.js无法加载资源:服务器响应状态为404(未找到)
答案 0 :(得分:0)
如果您转到http://socket.io/socket.io.js,则会显示404.脚本已移动或已移除。
他们有链接在这里下载脚本https://cdnjs.com/libraries/socket.io
<script src="/socket.io/socket.io.js">
告诉你的浏览器是转到socket.io并获取socket.io.js(使用http或https),具体取决于你所在网页的加载方式。
我不确定socket.io是否应该用某些内容替换它,但我怀疑它是基于阅读他们的教程。
如果您转到github示例,您会看到他们将其更改为
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
https://github.com/socketio/chat-example/blob/master/index.html