Angular 4 IIS路由问题

时间:2017-05-09 16:15:16

标签: angular iis-7.5 angular2-routing

我已经实现了一个Angular 4应用程序并准备好部署到Windows Server 2008 R2上的IIS 7.5,所以只需简化我刚刚使用Angular CLI创建一个新的Angular 4项目并使用ng build --prod构建它。然后在IIS中添加了一个名为AngularApp的新网站,并映射到C:\ Inetpub \ wwwroot \ AngularApp。我复制了dist下的所有文件。我还将URL重写添加到web.config。当我转到网址http://localhost/AngularApp时,我看到正在加载...但应用有效!永远不会显示我知道已经提出了一些类似的问题但我通过将<base href="/"/>更改为<base href="/AngularApp/"/>并重写网址来跟踪我在网上找到的所有内容,但似乎没有找到解决方案。 Angular代码直接来自Angular CLI,无需修改。不知道我在这里缺少什么...

以下是重写

&#13;
&#13;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
        <rules>
            <rule name="angularjs routes" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/$" negate="true"/>
                </conditions>
                <action type="Rewrite" url="/" />
            </rule>
        </rules>
    </rewrite>
  </system.webServer>
</configuration>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我找出问题所在。由于我们的服务器只安装了IE,因此推出了IE。在打开开发人员工具之后,我看到我得到一个Unable来获取undefined或null引用错误的属性'apply'。我不得不删除pollyfills.ts中注释掉的代码以支持IE11。之后,我确实看到该应用程序正常运行!