在IIS中部署Angular 6应用程序后,我得到一个空白页面,没有错误

时间:2018-11-29 04:58:31

标签: asp.net asp.net-mvc angular iis

我已经在IIS中使用asp.net mvc部署了Angular 6应用程序,并且我得到了一个空白页面。

它仅在html的<head>内显示标题,但不显示所有内容-内部有角6个分量。

我建立了dist文件夹:

ng build --prod --base-href /ePortal/

使用web.config:

  <?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url="/*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/ePortal" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>
</configuration>

然后我已经在IIS中创建了一个应用程序

请咨询。

3 个答案:

答案 0 :(得分:0)

您是否在html标头中添加了base-href?

<html>
   <head>
     ...
     <base href="/ePortal/">
     ...
   </head>
</html>

您是否已将dist文件夹软件包作为'ePortal'部署在IIS服务器上?

在示例中,您似乎还提到了KudVenkat's Deploy angular app to IIS:)

更新: 对于IE 10和IE 11浏览器,您需要在Polyfills.ts中取消注释几行以导入一些库。您可以参考this thread中@Belen Martin的答案。它为我工作。我一直认为IE不支持Angular网站。谢谢这个问题!

答案 1 :(得分:0)

在服务器上未安装chrome,因此我用资源管理器对其进行了检查,但无法正常工作..在安装chrome之后-页面加载良好-这样问题就解决了(至少在chrome上)

答案 2 :(得分:0)

我发现将<base href="">保留为空是可行的,只要刷新页面,就不再显示404错误。我不确定为什么会这样,但是我将继续对此进行研究。