gpt4 book ai didi

node.js - NodeJS,使用友好url时找不到css、js

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:08 24 4
gpt4 key购买 nike

这是我在 stackoverflow 上的第一个问题,我的英语很糟糕,对此感到抱歉。

在nodejs应用程序中,当我使用像“/post_detail?id=123”这样的url时

app.get('/post_detail', function(req, res) {
res.render("post_detail", {id: req.param("id")})
});

没关系,我会加载post_detail页面中的所有js和css:

GET /css/main.css 304 7.194 ms - -
GET /css/themes.css 304 7.313 ms - -
GET /js/vendor/bootstrap.min.js 304 8.139 ms - -
GET /js/plugins.js 304 8.810 ms - -
GET /js/app.js 304 16.648 ms - -

但是,当我使用“/post_detai/123”和路由器时:

app.get('/post_detail/:id', function(req, res) {
res.render("post_detail", {id: req.param("id")})
});

在控制台中出现以下错误:

GET /post_detail/css/themes.css 404 38.535 ms - 965
GET /post_detail/css/main.css 404 38.817 ms - 965
GET /post_detail/js/vendor/bootstrap.min.js 404 28.060 ms - 965
GET /post_detail/js/plugins.js 404 19.449 ms - 965
GET /post_detail/js/app.js 404 16.454 ms - 965

那么,如何解决这个问题呢?请帮我。 :(

感谢您的帮助。

P/S:当我使用 url“/post_detail/123”时,在控制台中有什么区别:网址“/post_detail?id=123”

GET /css/themes.css 304 7.313 ms - -

网址“/post_detail/123”

GET /post_detail/css/themes.css 404 38.535 ms - 965

最佳答案

在包含 jscss 文件时,您很可能使用相对路径而不是绝对路径。

在您的 View 文件(可能是layout.html,我只是猜测您项目的结构)中,尝试使用以正斜杠为前缀的网址:

<!-- This -->
<link href="/css/main.css">
<script src="/js/app.js"></script>

<!-- Rather than this -->
<link href="css/main.css">
<script src="js/app.js"></script>

当您位于 /post_detail?id=123 时,相对路径可以正常工作,因为它们是相对于 / 的,但是当您访问 /post_detail/123 时 它们现在与 /post_detail/ 相关,并将请求带有前缀 /post_detail/ 的资源。

因此,请尝试在您的 View 中使用绝对路径,我希望它能起作用。

关于node.js - NodeJS,使用友好url时找不到css、js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27810931/

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