我正在尝试获取所有路径中可用的公共文件夹内的静态文件(images,js,css)。我只能将它们加载到index.html。 manage.html文件无法访问静态文件,我在Chrome控制台上收到404错误。
文件夹结构:
-app/
---index.html
---management.html
---public/
------css/
------js/
------img/
server.js:
const express = require('express');
const path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res) {
res.sendFile('index.html', {root: __dirname })
});
app.get('/management', function(req, res) {
res.sendFile('management.html', {root: __dirname })
});
app.listen(3000);
答案 0 :(得分:2)
在HTML文件中,您可能指的是静态文件的相对路径。例如:<img src="img/example.png">
。此链接将基于您当前的位置。
当您的当前位置为http://example.com/(index.html)时,它会引用文件可能位于的http://example.com/img/example.png。
但是当您的位置为http://example.com/management(management.html)时,它会引用http://example.com/management/img/example.png,它将返回404。
使用此文件的绝对路径将解决此问题。您可以通过在相对路径/
前放置<img src="/img/example.png">
来完成此操作。或者,您可以使用management.html
中的相对路径,如下所示:<img src="../img/example.png">
。