拒绝应用来自 'http://localhost:2000/cssFile/style.css' 的样式,因为其 MIME 类型 ('text/html')
Refused to apply style from 'http://localhost:2000/cssFile/style.css' because its MIME type ('text/html')
我目前正在尝试将我的 style.css 文件添加到由 express.js
渲染的 home.ejs 文件
但我一直收到以下错误
Refused to apply style from 'http://localhost:2000/cssFile/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我的文件结构是这样的
cssFile
| style.css
views
| htmlFile
| | home.ejs
index.js
这是我的快递代码
const express = require("express");
const app = express();
const path = require("path");
const mongoose = require("mongoose");
const Comments = require("./models/comments");
app.use(express.static(__dirname + "/public"));
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.get("/", (req, res) => {
res.render("htmlFile/home");
});
我的home.ejs:
...
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous"
/>
//buggy code
<link rel="stylesheet" type="text/css" href="/cssFile/style.css" />
</head>
我一直在尝试另一种解决方案,但我就是无法解决我的问题。
My file structure is like
cssFile
| style.css
views
| htmlFile
| | home.ejs
index.js
This is my express code
... (all your other code)
app.use(express.static(__dirname + "/public"));
在此 JavaScript 代码中,您告诉 express.static 您正在尝试为名为“public”的目录中的静态文件提供服务,该目录不存在。如果您在浏览器的“网络”面板中查看,您可能会看到您收到的是 404 页面,或者有时是不同的 HTML 文件。
尝试将您的文件结构更改为:
public
| cssFile
| | style.css
views
| htmlFile
| | home.ejs
index.js
如果您确实包含正斜杠 (/public/),那么您可以只执行 href="/cssFile/style.css。我认为您没有包含 public文件夹。
另一种情况解决
将 href 转换为 src
<link rel="stylesheet" type="text/css" src="cssFile/style.css" />
我目前正在尝试将我的 style.css 文件添加到由 express.js
渲染的 home.ejs 文件但我一直收到以下错误
Refused to apply style from 'http://localhost:2000/cssFile/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我的文件结构是这样的
cssFile
| style.css
views
| htmlFile
| | home.ejs
index.js
这是我的快递代码
const express = require("express");
const app = express();
const path = require("path");
const mongoose = require("mongoose");
const Comments = require("./models/comments");
app.use(express.static(__dirname + "/public"));
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.get("/", (req, res) => {
res.render("htmlFile/home");
});
我的home.ejs:
...
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous"
/>
//buggy code
<link rel="stylesheet" type="text/css" href="/cssFile/style.css" />
</head>
我一直在尝试另一种解决方案,但我就是无法解决我的问题。
My file structure is like
cssFile | style.css views | htmlFile | | home.ejs index.js
This is my express code
... (all your other code) app.use(express.static(__dirname + "/public"));
在此 JavaScript 代码中,您告诉 express.static 您正在尝试为名为“public”的目录中的静态文件提供服务,该目录不存在。如果您在浏览器的“网络”面板中查看,您可能会看到您收到的是 404 页面,或者有时是不同的 HTML 文件。
尝试将您的文件结构更改为:
public
| cssFile
| | style.css
views
| htmlFile
| | home.ejs
index.js
如果您确实包含正斜杠 (/public/),那么您可以只执行 href="/cssFile/style.css。我认为您没有包含 public文件夹。
另一种情况解决 将 href 转换为 src
<link rel="stylesheet" type="text/css" src="cssFile/style.css" />