我是Node.js和Express的新手。我从控制台收到这些错误。
拒绝应用以下样式 'https://brawlhallastats.herokuapp.com/assets/css/bootstrap.min.css' 因为它的MIME类型('text / html')不是受支持的样式表MIME 类型和严格的MIME检查已启用。
CSS加载了它在本地的显示方式,但是当我在Heroku上查看已部署的应用程序时,它只显示没有样式的纯HTML。为什么是这样?我不知道为什么,将不胜感激,因为我一直在寻找帮助,找不到适合我的直接答案。
我认为问题仍然存在于下面的代码中。供参考,这是我的布局:
C:/
index.html
server.js
package.json
.gitignore
assets
css
all_the_css_files in here
node_modules
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/core.css" rel="stylesheet" type="text/css">
<link href="assets/css/icons.css" rel="stylesheet" type="text/css">
const express = require('express');
const app = express();
const path = require('path');
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname, 'index.html'));
});
app.listen(process.env.PORT || 4000, function(){
console.log('Your node js server is running');
});
我希望网站能够正确加载所有样式。任何解释将不胜感激。
答案 0 :(得分:0)
我想通了,我在这里写一个简洁的答案,因为新来表达的人也可能会遇到这个问题。
我遇到了这个问题,因为我需要设置一个公用文件夹。我要做的就是创建一个名为public的文件夹,将资产放入public,然后将此行包含到server.js文件中。
app.use(express.static(__dirname + '/public'))
答案 1 :(得分:0)
对我来说,解决方案是, 而不是:
app.use(express.static(__dirname + '/public'));
我用过:
app.use(express.static(__dirname));
现在一切正常