NodeJS res.sendFile不发送图像或导演

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

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

要提供静态文件(如图像和脚本),您需要包含一个提供静态文件的中间件。 把所有的静态文件放在一个公共目录中,像这样提供服务。

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