首页 > 解决方案 > Express 静态文件中间件不会将 css 文件设置为公共

问题描述

我正在尝试将我的 css 文件设置为公共,以便我的服务器可以识别它们,我正在使用正确的功能,并且我将我的 css 文件放在正确的文件夹(公共)中,我已将文件链接到我的 ejs 文件中使用正确的目录,但由于某种原因,我的服务器仍然找不到该文件。我认为它无法识别该文件,因为我输入的目录不正确。

这是我的html代码:

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= title %></title>
<link rel="stylesheet" href="/15th_Lesson/public/styles.css" />

(代码是部分的,因为我所有的 html 文件都有相同的头部部分,这个部分是带有链接的部分,所以我只把它放在这里)

这是我的js代码:

const express = require('express');
const app = express();

app.use(express.static(__dirname + '/public'));
app.listen(3000);
app.set('view engine', 'ejs');

(在app.use(express.static(__dirname + '/public'));我厌倦了使用app.use(express.static('public'));但它仍然没有工作)

这是我的目录:在此处输入图像描述

以下是 15th_lesson 文件(我的项目所在的位置)中的所有文件:

在此处输入图像描述

这是我在 borwser 中的网络选项卡的样子:在此处输入图像描述

这是我的CSS代码(非常基本):body{background-color: black;}

如果有任何不清楚的地方,我深表歉意,我很乐意澄清评论中的任何混淆。

标签: javascripthtmlcssnode.jsexpress

解决方案


在你的 .ejs 文件中试试这个:

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

推荐阅读