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

Posted

技术标签:

【中文标题】node.js express - mime 类型 woff 字体返回为 text/plain 类型【英文标题】:node.js express - mime type woff font returned as text/plain type 【发布时间】:2013-12-24 17:48:21 【问题描述】:

我正在使用 node-mime 为 woff 字体设置正确的 mime 类型。还是行不通。任何帮助将不胜感激。

var express = require('express')
var mime = require('mime');

...

express.static.mime.define(
 'application/x-font-woff': ['woff'],
 'application/font-woff': ['woff']
); 

干杯 @harishvc

【问题讨论】:

您使用的是旧版本的 Express 吗?即使没有define,它也会为woff 提供正确的mime 类型的文件(Express@3.4.6)。虽然我不明白你为什么要为同一个扩展声明两种 mime 类型... 是的,我使用的是旧版本的 Express。我现在已经升级了 Express,但仍然没有进展。我现在在 woff 文件上得到 404!文件存在于服务器上,但无法通过 http 访问。有什么帮助吗? 解决了!我正在使用 fontawesome-webfont.woff?v=4.0.3 并且出于某种奇怪的原因 Express 返回 404!我将逻辑更改为 fontawesome-webfont.woff 并且可以正常工作。 嗨,你能解释一下你是怎么解决的吗?我在使用 v4.0.4 时面临同样的问题。谢谢 【参考方案1】:

您可能错过了提供字体的正确途径。 serve-static 已经提供了正确的 mime 类型。

您可以使用serve-static 在您的项目中轻松提供静态资源。如果您已经在使用serve-static,请检查您是否真的在请求时发送字体。

【讨论】:

以上是关于node.js express - mime 类型 woff 字体返回为 text/plain 类型的主要内容,如果未能解决你的问题,请参考以下文章

由于 MIME 类型错误而拒绝应用样式

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

将音频从浏览器流式传输到具有特定 MIME 类型的 node.js 服务器

node.js 中的标头 - 套接字 io 资源解释为脚本,但使用 MIME 类型 text/plain 传输:

如何在 node.js (express) 中全局设置内容类型

mime模块响应或设置Node.js的Content-Type头