未找到NodeJS Socket io客户端脚本

时间:2018-03-14 17:43:30

标签: node.js socket.io

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(未找到)

1 个答案:

答案 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