我正在从后端开发应用程序。我的页面应该在本地加载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可以正常工作。这里发生了什么?
答案 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/