Node JS res.sendFile 不发送图像或目录

NodeJS res.sendFile not sending images or directorys

所以如上所述,我 运行 只有 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");
});

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

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

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");
});