我正在构建一个非常简单的应用程序,当我遇到这个问题时,我正在设置项目。我有一个简单的localhost服务器和一个要渲染的html,但是当我访问localhost时,我在控制台上得到这个错误:Refused to apply style from 'http://localhost:8080/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我检查了this其他答案,但不明白是什么问题,所以我不能解决我的。
我的项目结构如下:
Project
js
server.js
views
index.html
style.css
这些文件包含以下代码:
server.js:
const express = require('express');
const dotenv = require('dotenv');
const path = require('path');
dotenv.config({ path: './../config.env' });
const app = express();
app.use(express.static(__dirname + '/views'));
const port = process.env.PORT || 8080;
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, '../views', 'index.html'));
});
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
index.html:
<!DOCTYPE html>
<html lang="en">
<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 rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body>
<button class="btn"></button>
</body>
</html>
style.css:
.btn {
background-color: red;
}
所以,我希望这个按钮有一个红色的背景颜色,但却遇到了这个错误。任何帮助都是感激的!
1条答案
按热度按时间jum4pzuy1#
您的问题只是发送到
static
的路径。app.use(express.static(__dirname + '/views'));
__dirname
将是js
文件的路径,所以你在这里说的是/js/views/
,但你真正想要的是向上一个目录,然后查看。您可以使用与
get('/'..
相同的技术,使用path.join
获取views
目录。例如