我使用的是谷歌Chrome版本52,我希望能够通过访问index.html在没有服务器的情况下在本地运行我的应用程序。
我可以点击我的应用程序的登录页面。但是,当我尝试导航到另一个页面或单击任何按钮时,它无法工作。
我尝试了很多方法,例如:
<script>document.write('<base href="' + document.location + '" />');</script>
ng build --prod --allow-file-access-from-files
我已经尝试了一天,如果有人可以提供帮助,我将非常感激。
我不想运行网络服务器,我必须让它在Chrome上运行。
编辑: 适用于Safari
不适用于Chrome,Firefox,Opera,IE,Microsoft Edge
谢谢!
答案 0 :(得分:0)
有几个原因,可能会导致路由器出现问题。如果您在生产环境中遇到问题,则应确保遵循以下步骤:
在index.html的标题部分添加基本标记:
<base href="/">
在根目录中创建.htaccess
文件,并在index.html上设置ErrorDocument
,如下例所示。
RewriteEngine On
ErrorDocument 404 /
这可以解决您的问题。
加载页面时,e。 G。 domain.com/settings,您的浏览器会向服务器发送请求,并期待一个settings.html文件作为响应。
如果ErrorDocument指向index.html文件,Angular路由器可以正确处理请求,并将您重定向到domain.com/settings而不会出现错误。
答案 1 :(得分:0)