我使用的是 Google Chrome 版本 52,我希望能够通过访问 index.html 在本地运行我的应用程序,而无需服务器。
我能够访问我的应用程序的登陆页面。但是,当我尝试导航到另一个页面或单击任何按钮时,它无法工作。
我尝试了很多方法,例如:
- 导入前添加脚本参考一 https://stackoverflow.com/questions/32481260/failed-to-execute-replacestate-on-history-local-url-cannot-be-created-in-a and 参考二 https://stackoverflow.com/questions/32453806/uncaught-securityerror-failed-to-execute-replacestate-on-history-cannot-be
- 将基本 href 从 / 更改为 ./
- 更改路由器配置以使用哈希并将基本 href 更改为
<script>document.write('<base href="' + document.location + '" />');</script>
- Using
ng build --prod --allow-file-access-from-files
This is the exact error I faced:
我已经尝试了一天,如果有人能提供帮助,我将非常感激。
我不想运行网络服务器,我必须让它在 Chrome 上运行。
编辑:
适用于 Safari
不适用于 Chrome、Firefox、Opera、IE、Microsoft Edge
谢谢你!
有几个原因可能会导致您的路由器出现问题。如果您在生产环境中遇到问题,您应该确保遵循以下步骤:
Step 1:
在 index.html 的标头部分添加基本标签:
<base href="/">
Step 2:
Createa .htaccess
文件放在根目录并设置ErrorDocument
在您的index.html 上,如下例所示。
RewriteEngine On
ErrorDocument 404 /
这应该可以解决您的问题。
解释:
当您加载页面时,e。 G。 domain.com/settings,您的浏览器向服务器发送请求并期望 settings.html 文件作为响应。
如果ErrorDocument指向index.html文件,Angular路由器可以正确处理请求,并将您重定向到domain.com/settings,而不会出现错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)