【问题标题】:NodeJS res.sendFile not sending images or directorys节点 JS res.sendFile 不发送图像或目录
【发布时间】:2015-08-27 13:40:20
【问题描述】:

如上所述,我只运行 html 文件并且能够看到图片,但是当我通过节点运行文件时,它会在我使用的文件上向我发送 404 错误。

<html>
<body>
<img src="aaa.jpg" />

<script src="/socket.io/socket.io.js">
</script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
</script>
</body>

</html>

和节点代码

var app = require("express")();
var http = require("http").Server(app);
var io = require("socket.io")(http);
app.get("/", function (req, res) {
    res.sendFile(__dirname + "/Movie.html");
});
http.listen(5969, function () {
    console.log("Server Open");
});

我怎样才能阻止这种情况发生?

【问题讨论】:

    标签: javascript node.js http-status-code-404


    【解决方案1】:

    要提供图像和脚本等静态文件,您需要包含一个提供静态文件的中间件。将所有静态文件放在公共目录中并像这样提供它们。

    var express = require("express");
    var app = express();
    var http = require("http").Server(app);
    var io = require("socket.io")(http);
    // Serve static files
    app.use(express.static(__dirname + '/public'));
    app.get("/", function (req, res) {
        res.sendFile(__dirname + "/Movie.html");
    });
    http.listen(5969, function () {
        console.log("Server Open");
    });
    

    【讨论】:

    • 很高兴能提供帮助。祝你好运。
    • 只是想指出您可以组合多个静态目录,这对于一些想要将公共目录与私有目录分开的人可能很有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2017-02-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多