中以404(未找到)问题的状态响应"/>
无法加载资源:服务器在Node.js应用中以404(未找到)问题的状态响应
我需要帮助。我在这里查找了解决方案,但仍然找不到。所以我在Goorm ide中练习某些东西,但是我走到了尽头。我试图通过将脚本放在页脚中来链接main.js(位于js文件夹中)文件。但是我遇到一个错误,它说
Failed to load resource: the server responded with a status of 404 (Not Found)
我还在lib文件夹中上传了一些png文件,尝试访问ejs模板中的文件后出现了同样的错误。
根文件夹由js,lib和views文件夹以及其他一些不相关的文件夹组成。
要链接footer.ejs(位于视图内的局部文件夹中的main.js),<script type="text/javascript" src="../../js/main.js"></script>
。在lib / images文件夹中上传的png图像,我尝试从视图中的ejs模板访问这些图像,因此我使用了<img src="../lib/images/image1.png">
。在两种情况下,我都会收到该错误。如果有人可以帮助,将不胜感激。这是我的根文件夹的样子-
编辑:这是app.js代码:
require('dotenv').config();
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var indexRoute = require("./routes/index");
var flash = require("connect-flash-plus");
var session = require('express-session');
// APP CONFIG
app.use(express.static(__dirname + "/public"));
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({extended:true}));
app.set('json spaces', 2);
app.use(session({
secret: 'boom',
cookie: { maxAge: 60000 },
saveUninitialized: true,
resave: true
}));
app.use(flash());
app.use(function(req, res, next) {
res.locals.error = req.flash("error");
next();
});
// routes
app.use(indexRoute);
app.listen(3000, function(){
console.log("Server has started");
})
回答如下:您的Express配置指定将从public
目录访问所有静态文件:
app.use(express.static(__dirname + "/public"));
这意味着您要在Web浏览器中访问的任何文件都必须在此目录(或其子目录)中。
例如,如果要访问main.js
,并且它位于public/main.js
中,则可以像这样在前端访问它:
<script type="text/javascript" src="/main.js"></script>
请注意,在前端,不得包含public/
前缀。
更多推荐
无法加载资源:服务器在Node.js应用中以404(未找到)问题的状态响应
发布评论