我的html(ejs)完全忽略了我的CSS文件

时间:2019-09-24 10:40:23

标签: html css node.js express ejs

我正在从后端开发应用程序。我的页面应该在本地加载CSS。我正在使用nodejs,express.js和ejs(用于我的页面)-MEN / MEAN堆栈。

<link href="../public/stylesheets/style.css" rel="stylesheet" type="text/css">

由于VS Code允许您进行检查,因此我100%确定链接是正确的,但是在加载页面时出现了错误。错误:“由于MIME类型(“ text / html”)不匹配(X-Content-Type-Options:nosniff),“ http://localhost:3000/public/stylesheets/style.css”中的资源被阻止了”

当我使用样式标签时,CSS可以正常工作。这里发生了什么?

2 个答案:

答案 0 :(得分:0)

好的,所以我解决了。 Express的问题在于,它将“ text / css”部分更改为“ text / html”。一个快速简单的解决方法是删除“ rel = stylesheet”,但这可能会产生混合结果。最好的办法是使用app.use(express.static("public"))-这将使Express知道公用文件夹是用于样式和脚本的。

链接现在看起来应该像<link href="stylesheets/style.css" rel="stylesheet" type="text/css">,并且可以正常工作。

答案 1 :(得分:0)

您应该告诉快递,您有一个静态资产已全部存放在公用文件夹上。

app.use(express.static("public"))

要了解更多表达魔术的方法,请遵循此github存储库。 https://github.com/sagormax/node-admin/