HTML5 PushState 表示刷新URL或在浏览器中输入直接URL ,当我使用VS 2015命令提示符中的'npm start'
命令运行我的角度应用时,效果非常好。但是,当我在IIS上部署相同的应用程序并将<base href="/"/>
更改为<base href="/MyVirtualApplication/" />
时, HTML5的PushState 或历史记录API 不会正常工作并提出404错误。
请建议。
答案 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启动并列出定义的端口。它不需要任何额外的服务器。