gpt4 book ai didi

javascript - CSS 未使用 req.params 或其他内容加载

转载 作者:行者123 更新时间:2023-11-28 05:06:20 25 4
gpt4 key购买 nike

我对节点、表达等非常陌生。我制作了一个博客应用程序,但遇到了问题。我正在使用 mongoose、node、express 和 ejs。

当我打电话时

router.get('/posts', function(req, res){   Post.find({}, function(err, posts){
res.render('viewpost.ejs', {
posts
}); }); });

一切都运行得很好。我收到了我的帖子,CSS 也正常工作了。问题是当我打电话时

router.get('/posts/:posts_id', function(req, res){
Post.find({_id: req.params.posts_id}, function(err, posts){
res.render('viewpost.ejs',{
posts
});
});
});

帖子似乎有效,但在控制台中我得到了

GET/posts/posts.css 304 1.854 毫秒而且 viewpost.ejs 看起来没有使用 css。

服务器文件server.js

app.use(express.static('public'))
app.use(express.static(path.join(__dirname, 'public/css/')));
app.use(express.static(path.join(__dirname, 'public/img/')));

viewpost.ejs

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css"/>
<link rel="stylesheet" href="style.css">
<script src="/bower_components/jquery/dist/jquery.js"></script>
</head>
<body class="cyc">
<% include ./partials/navbar.ejs %>

<%= posts %>
</body>
</html>

So when i use route without req.params everything seems to be working ok. When i call it with any param my css file is not working.

最佳答案

<link rel="stylesheet" href="style.css">尝试加载style.css来自 HTML 页面所在的同一路径。所以,对于/posts ,它将尝试加载 /style.css/posts/1 ,它将尝试加载 /posts/style.css 。但后者与您的 /posts/:posts_id 匹配端点,以便使用 posts_id == 'style.css' 来调用它,这是无稽之谈。

解决方案很简单,使链接绝对:

<link rel="stylesheet" href="/style.css">

关于javascript - CSS 未使用 req.params 或其他内容加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com