我已经实现了一个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,无需修改。不知道我在这里缺少什么...
以下是重写
<?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;
答案 0 :(得分:0)
我找出问题所在。由于我们的服务器只安装了IE,因此推出了IE。在打开开发人员工具之后,我看到我得到一个Unable来获取undefined或null引用错误的属性'apply'。我不得不删除pollyfills.ts中注释掉的代码以支持IE11。之后,我确实看到该应用程序正常运行!