在本地设备上禁用chrome严格MIME类型检查

70gysomp  于 2023-01-28  发布在  Go
关注(0)|答案(4)|浏览(319)

我有一个CSS文件,我的本地开发服务器(webpack)提供了明显错误的mime类型。

Refused to apply style from 'http://localhost:10001/font-awesome/css/font-awesome.min.css' 
because its MIME type ('text/html') is not a supported stylesheet MIME type, 
and strict MIME checking is enabled.

有什么办法可以禁用它吗?我假设它是一个chrome设置。至少对特定的主机是这样。
深入到webpack配置,如果它不做一些基本的像这样的通常是一个令人沮丧的牦牛剃须练习。
大多数其他的答案都是指修复服务器的方法。我只是想黑掉这个客户端,因为服务器很顽固。
相关:

8yoxcaq7

8yoxcaq71#

你的问题是从一段时间前,但排名很好的谷歌为这个问题,所以我想芯片与一对夫妇的指针。

可能是伪装的HTTP/404

这个错误信息可能只是误导你,很不幸,谷歌浏览器完全删除了这个响应,甚至包括“网络”开发面板的预览。
MIME类型可能不正确,因为服务器正在使用HTTP 404消息进行应答。
测试方法:直接在浏览器中打开CSS文件的URL,或者使用wget之类的工具获取它。
你检查过路径是否正确吗?根据你的配置,css文件可能不在原来的位置(假设不是webpack或它的配置问题)。
我只能在这里盲目猜测正确的网址可能是什么...
http://localhost:10001/node_modules/font-awesome/css/font-awesome.min.css
http://localhost:10001/css/font-awesome/font-awesome.min.css
http://localhost:10001/css/font-awesome.min.css
http://localhost:10001/font-awesome.min.css

检查请求标题

一般而言,不仅仅是在CSS响应的情况下:
如果text/html响应通过(例如,默认的Apache 404页面),请求头可以准备好进行适当的回退。
Accept: text/css, text/plain, */*
但是你不应该将*/*配置为每个请求都可以接受,这并不总是有用的,即使在本地开发环境中--错误类型的响应应该尽早修复。

  • 为什么框架要优雅地处理这个问题 *

服务器可能会提供正确的答案,但带有一个不正确的Content-Type头。框架假设服务器“一定是指application/json”,并让JSON解析器继续处理它的事情。
如果这起作用,框架可以忽略不正确的Content-Type,并且仍然正常工作。
这样做的目的主要是在共享主机环境中运行,在那里编辑.htaccess设置可能是不可能的。
如果您的应用程序处理内容类型更严格,也没关系,但缺点是经常会调试类似的错误。

相关答案

如果这没有帮助,这里的答案对我很有帮助:
Stylesheet not loaded because of MIME-type

lnxxn5zx

lnxxn5zx2#

    • 尝试硬重新加载或清空缓存并硬重新加载页面。**

为此:
1.打开检查。(CTRL + SHIFT + I)
1.右键单击刷新按钮(位于地址栏前面)并选择适当的选项。

dsekswqp

dsekswqp3#

我遇到了同样的问题,并尝试了许多不同的方法,但问题是我没有添加devServer属性到webpack.config.js模块导出。

module.exports = {
    entry: src + '/js/index.js',
    output: {
        path: dist,
        filename: 'js/bundle.js'
    },
    devServer: {
        contentBase: './dist'
    }
}

在此代码中,如果没有添加devServer配置,我会遇到404和MIME类型问题,
添加此选项解决了错误。
希望能帮助别人排除故障。

jexiocij

jexiocij4#

尝试“硬重新加载”或“清空缓存并硬重新加载页面”。Ctrl+Shift+f5

相关问题