在Azure中为SVG和字体显示NodeJS web.config

我在快速网站中遇到了问题,该网站使用SVG和其他文件,如字体。

在本地运行应用程序时没有任何问题,但是一旦在Azure上部署,SVG和字体就不会再出现。

在项目根目录下创build一个web.config文件:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> <mimeMap fileExtension=".woff" mimeType="application/x-woff" /> <mimeMap fileExtension=".ttf" mimeType="application/x-woff" /> </staticContent> </system.webServer> </configuration> 

也使用这个解决scheme:( Windows Azure中的Svgs和其他MIMEtypes )

这两个解决scheme现在允许加载SVG文件,但网页不再加载。 (HTTP 500)

它似乎覆盖dynamic内容的configuration。

如何configurationdynamic内容,使应用程序再次工作?

我发现了这个问题。

使用这个解决scheme:( Windows Azure中的Svgs和其他MIMEtypes )

dynamic内容重写规则中 ,通过app.jsreplaceserver.js ,这是Express创build的默认入口点。

最终结果是:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> <mimeMap fileExtension=".woff" mimeType="application/x-woff" /> <mimeMap fileExtension=".ttf" mimeType="application/x-woff" /> </staticContent> <handlers> <add name="iisnode" path="app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="DynamicContent"> <match url="/*" /> <action type="Rewrite" url="app.js" /> </rule> </rules> </rewrite> </system.webServer> </configuration>