Node.Js:资源解释为字体但使用 MIME 类型 text/html 传输

Posted

技术标签:

【中文标题】Node.Js:资源解释为字体但使用 MIME 类型 text/html 传输【英文标题】:Node.Js: Resource Interpreted as Font but Transferred with MIME Type text/html 【发布时间】:2014-10-16 14:37:30 【问题描述】:

我的网站上的图标(由 Node.Js 提供)未呈现,我看到标题中指出的错误。我正在为我的服务器使用这个脚本...... https://github.com/joeeames/AngularFundamentalsFiles/blob/master/web-server.js

line 98下面我加了...

'woff':'application/font-woff'

我也...

npm install mime

但我所做的一切似乎都不起作用。有谁知道如何解决这个问题?来自控制台的具体错误是...

Resource interpreted as Font but transferred with MIME type text/html: "https://<my_site>/bower_components/font-awesome/fonts/fontawesome-webfont.woff?v=4.1.0".

我看到 TTF 和 SVG 类型的类似错误。

【问题讨论】:

【参考方案1】:

这可能意味着您正在请求的资源没有匹配的路由,因此服务器正在向下发送索引页面。如果您在浏览器的开发人员工具中查看请求的内容,您应该会看到它是一个正在返回的 html 文档。您需要诊断为什么您请求的内容除了提供 index.html 页面的默认路由之外没有匹配的路由。

【讨论】:

是的,这正是问题所在。对不起,本想回答这个问题,但你打败了我!我使用 Bower 在我的项目中包含 font-awesome,并使用 Grunt 来构建它。 font-awesome CSS 指定了字体的位置,但该文件未包含在我的 Grunt 构建工件中,因此它返回了 404,NodeJS 服务器会将其作为 text/html 类型发回。通过 CDN 使用 font-awesome 是我选择的解决方案。

以上是关于Node.Js:资源解释为字体但使用 MIME 类型 text/html 传输的主要内容,如果未能解决你的问题,请参考以下文章

压缩 css 文件导致 glyphicon 字体无法呈现:资源解释为字体但使用 MIME 类型 text/plain 传输

谷歌浏览器给出警告资源解释为字体但使用 MIME 类型应用程序/八位字节流传输:

font-face+chrome+django:如何避免消息“资源解释为字体但使用 MIME 类型应用程序/八位字节流传输。”

资源解释为字体,但使用 MIME 类型 text/html 传输:“http://localhost:3000/fonts/glyphicons-halflings-regular.woff”

node.js express - mime 类型 woff 字体返回为 text/plain 类型

WOFF 字体的 Mime 类型?