在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.js
replaceserver.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>