在azure node js web app上找不到字体.woff 404

时间:2016-03-16 04:46:41

标签: css node.js azure azure-web-sites font-awesome

我的wwwroot上有这些字体,如我的nodejs应用程序控制台上所示: enter image description here

我在css上有这种用法:

@font-face {
    font-family: myFont;
    src: url(resources/font/Montserrat-Bold.woff) format("truetype");
    font-weight: bold;
}
@font-face {
    font-family: myFont;
    src: url(resources/font/Montserrat-Light.woff) format("truetype");
    font-weight: 300;
}
@font-face {
    font-family: myFont;
    src: url(resources/font/Montserrat-Regular.woff) format("truetype");
    font-weight: 400;
}
@font-face {
    font-family: myFont;
    src: url(resources/font/Montserrat-SemiBold.woff) format("truetype");
    font-weight: 500;
}
html, body{
    font-family: myFont;
    font-weight: 300;
}

它在 localhost 上完美运行,但我从 azure 上传的版本中收到此错误。 enter image description here

2 个答案:

答案 0 :(得分:3)

请访问https://<your-webapp-name>.azurewebsites.net/DebugConsole的Kudu工具控制台,然后查看web.config&amp;如果使用Express框架,请在下面显示server.js个文件。我认为您需要在css文件中为网址/添加前缀符号resources/font/...

图1. web.config&amp;路径server.js

上的wwwroot

enter image description here

图2. web.config

中静态内容的重写规则

enter image description here

图3. server.js

中的快速静态路由配置

enter image description here

答案 1 :(得分:3)

IIS服务器节点可能存在一个问题,即它无法理解您的字体mimetype。要解释如何提供正确的字体,您需要:

  1. 使用KuDo调试控制台下载您自动生成的web.config文件。
  2. 将这些行添加到该文件中的适当位置: <configuration> <system.webServer> <staticContent> <remove fileExtension=".otf" /> <remove fileExtension=".woff" /> <mimeMap fileExtension=".otf" mimeType="font/opentype" /> <mimeMap fileExtension=".woff" mimeType="application/x-woff" /> </staticContent> </system.websServer> </configuration>
  3. 希望这有帮助。