我正在尝试使用express.js提供静态文件。
const express = require('express')
const app = express()
app.use(express.static('public'))
app.listen(8888, () => console.log('listening on port 8888!'))
但我收到错误:拒绝应用“http://localhost:8888/static/css/main.5a7f7b3b.css”中的样式,因为其MIME类型(“text / html”)不是受支持的样式表MIME类型,并且启用了严格的MIME检查。知道我做错了什么吗?
答案 0 :(得分:0)
我可能迟到了,但我只是找到了答案,在其他任何地方都找不到,所以我将其发布:
您的代码存在的问题是,它将正确地为index.html提供服务,但是当它加载链接在.html文件中的.css文件时,应用程序将通过再次发送.html文件进行响应。您的浏览器期望获得一个.css文件,但实际上得到一个.html文件,这会导致错误。
这将解决该问题:
const express = require('express')
const path = require('path');
const app = express()
app.use(express.static('public'))
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname, "./path/To/Your/Dir"));
});
app.listen(8888, () => console.log('listening on port 8888!'))