Angular 2路由引发404错误

时间:2016-01-22 20:34:21

标签: angular iis-7 angular2-routing url-routing

HTML5 PushState 表示刷新URL或在浏览器中输入直接URL ,当我使用VS 2015命令提示符中的'npm start'命令运行我的角度应用时,效果非常好。但是,当我在IIS上部署相同的应用程序并将<base href="/"/>更改为<base href="/MyVirtualApplication/" />时, HTML5的PushState 历史记录API 不会正常工作并提出404错误。

请建议。

2 个答案:

答案 0 :(得分:2)

编辑:网址重写的IIS设置:

您需要安装此功能才能完成以下工作:http://www.iis.net/downloads/microsoft/url-rewrite

第一步:

第二步:

我找到了解释解决方案的链接:https://stackoverflow.com/posts/12614072/

<强> OLD

npm设置的开发环境之外运行使用Angular 2构建的任何应用程序时,您必须将<base href="/">替换为:

<script>document.write('<base href="' + document.location + '" />');</script>

注意:这仅适用于制作或用完npm环境。

答案 1 :(得分:-3)

我认为在得到nodejs的基本理解并将其与Angular2一起使用后,我得到了答案。

基本上,nodejs - expressjs本身就是一个Web服务器,当我们执行命令时,npm start web server启动并列出定义的端口。它不需要任何额外的服务器。