NodeJS res.sendFile不发送图像或directorys

时间:2015-06-11 17:49:43

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

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

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

1 个答案:

答案 0 :(得分: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");
});