如何让样式表在我的Express项目中工作



我在express应用程序的"public"目录中创建了一个样式表。它被称为app.css.

我在ejs文件中添加了一个链接标记,我希望在其中应用样式。

它不会应用样式。

我已经告诉express用一个应用程序为公共目录服务,正如你在下面的代码中看到的那样:

var express = require('express');
var app = express();
app.use(express.static("public"));

app.get("/mynameis/:name", function(req, res){
var name = req.params.name;
res.render("app.ejs", {name: name});
});
app.get("/posts", function(req, res){
var posts = [
{band: "Led Zeppelin", album: "Houses Of The holy"},
{band: "Pink Floyd", album: "Animals"}

];
res.render("posts.ejs", {posts:posts});
})

ejs文件如下所示:

<link rel="stylesheet" href="app.css">
<h1> The Posts Page</h1>
<% for(var i = 0; i < posts.length; i++){ %>
<li><%= posts[i].band %> - <%= posts[i].album %> </li>
<% }; %>

css如下所示:

body {
background:blue;
}

发生了什么事?为什么ejs文件不能识别我的样式表?

我也遇到过类似的问题,但这一行帮助了我:

app.use(express.static(__dirname + '/public'));

看起来你在app.css前面也缺少了一个"/"。现在,它被读取为"publicapp.css",所以你需要正斜杠使其成为"public/app.css"。

我希望这能帮助

最新更新