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

Dan*_*bes 9 mime node.js font-awesome

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

第98行下面我添加了......

'woff':'application/font-woff'
Run Code Online (Sandbox Code Playgroud)

我也...

npm install mime
Run Code Online (Sandbox Code Playgroud)

但我所做的一切似乎都无效.有谁知道如何解决这个问题?控制台的具体错误是......

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".
Run Code Online (Sandbox Code Playgroud)

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

Jos*_*mes 11

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

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