在 express 中我有以下路线:
app.get('/story/:username', function(req, res){
res.render('dashboard.ejs');
});
在此之前,我提供位于 /public
中的所有静态文件:
app.use(express.static(__dirname + '/public'));
现在我相信这是在为根目录提供服务,因此当我访问路径 http://localhost:8080/story/user17
时,它仍然能够拉取我的静态文件,例如作为来自 http://localhost:8080/css/main.css
的 css/main.css
。相反,当我尝试加载页面并检查控制台时,我一直看到这个错误:
GET http://localhost:8080/story/css/main.css (404)
我所有的静态文件。为什么它试图从相对目录而不是绝对根目录加载我的所有静态文件,我该如何修复它?
最佳答案
将 dashboard.ejs
中的 CSS 文件路径从 css/main.css
更改为 ../css/main.css
这样就可以从浏览器看到的页面中找到它 /story/someUser
关于javascript - Express 相对于路由而不是绝对路由提供静态 Assets 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30051484/