javascript - Heroku Node.js 应用程序拒绝应用样式,因为它的 MIME 类型
问题描述
我是 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');
});
我希望网站能够正确加载所有样式。任何解释将不胜感激。
解决方案
我想通了,我在这里写了简洁的答案,因为新表达的人可能也会遇到这个问题。
我遇到了这个问题,因为我需要设置一个公用文件夹。我所做的只是创建一个名为 public 的文件夹,将资产放入 public,然后将这一行包含到 server.js 文件中。
app.use(express.static(__dirname + '/public'))
推荐阅读
- hazelcast - 从 3.5 升级到 3.8 后 Hazelcast 无法正常工作
- amazon-web-services - Aws X 射线守护程序监视器抛出无效段错误代码
- elasticsearch - 更新数据时的elasticsearch批量导入速度
- iphone - 使用未解析的标识符“Braintree”
- java - 如何将 slf4j 记录到 cuba 框架中的文件中
- scala - Scala 将 JSON 反序列化为 Collection
- openssl - 如何在 openssl conf 文件中将 SubjectAltName 保持为 commonName
- android - Firebase 管理员 SDK Android
- c# - 面向对象的错误
- ios - 如何修复致命异常:NSInternalInconsistencyException