【发布时间】:2021-04-03 01:15:34
【问题描述】:
我正在开发一个使用gulp 编译和浏览器同步的网站,以使浏览器与我的更改保持同步。
gulp 任务可以正确编译所有内容,但是在网站上,我看不到任何样式,并且控制台显示此错误消息:
拒绝应用样式来自 'http://localhost:3000/assets/styles/custom-style.css' 因为它 MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型,并且 已启用严格的 MIME 检查。
现在,我真的不明白为什么会发生这种情况。
HTML 包含这样的文件(我很确定这是正确的):
<link rel="stylesheet" type="text/css" href="assets/styles/custom-style.css"/>
样式表现在是 Bootstrap 和 font-awesome 样式之间的合并(还没有自定义)。
路径也是正确的,因为这是文件夹结构:
index.html
assets
|-styles
|-custom-style.css
但我不断收到错误消息。
可能是什么?这可能是 gulp/browsersync 的东西(可能是设置?)?
【问题讨论】:
-
当我的链接样式表以 html
-
当您为文件设置了不正确的 URL 或服务器配置不正确时,就会发生这种情况。结果,浏览器没有获得样式表,但它获得了一些带有 404 状态和“Content-Type”标头的 HTML。由于浏览器从服务器获取了一些东西,它不会告诉你没有回复,而是告诉你文件的 MIME 类型不正确。检查它的最快方法是尝试在新选项卡中直接打开文件
http://localhost:3000/assets/styles/custom-style.css。 -
对我来说就是 RussCoder 描述的情况。这背后的原因是我使用了 Angular 并忘记在 angular.json 中的样式包装中添加一个 css 文件。所以在构建应用程序时它被忽略了。
-
我可以通过 spring 安全配置来解决这个问题。它阻止了对资源文件夹的访问。
-
错误的
proxy.conf.json设置导致我们出现这个奇怪的错误,因为转发到后端 API 的请求无法正常工作,因此 HTML 错误响应。
标签: html css gulp mime-types browser-sync