[英]How can I fix CSS stylesheet path in Express + ESJ project
我在我的項目中使用了Express 和 EJS 。 我希望當我輸入“ localhost:PORT/posts/:articleName ”時,要呈現 a.ejs 文件。 唯一的問題是,即使我有app.use(express.static(__dirname + "/public"));
它不像它應該的那樣工作。 當我檢查post.ejs文件中的樣式表鏈接時,它是“ localhost:PORT/posts/style.css ”。 但我希望路徑為“ localhost:PORT/style.css ”才能工作。 如何修復路徑?
項目結構: https://imgur.com/a/UrYY9lK
GET 請求的代碼 /
app.get("/posts/:articleName", (req, res) => {
for(obj of posts) {
if(lodash.lowerCase(obj.title) === lodash.lowerCase(req.params.articleName)) {
console.log("it s a match");
res.render("post.ejs", {title: obj.title,
content: obj.content});
return;
}
}
res.redirect("/")
});
帖子= JSON 對象數組
post.ejs = 僅包含特定文章的文件,它不能正常工作,因為它不會從公共目錄加載 style.css 文件。
試試這個變種,因為你寫的這部分代碼不正確:
app.use(express.static('public'));
顯然,您需要在 css 文件之前有一個“/”或將其放在另一個子目錄中以獲得正確的路徑
所以link rel="stylesheet href="/style.css"
確實有效,但link rel="stylesheet href="style.css"
無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.