2

我正在使用 Google Chrome 版本 52,并且我希望能够通过访问 index.html 在没有服务器的情况下在本地运行我的应用程序。

我可以点击我的应用程序的登录页面。但是,当我尝试导航到另一个页面或单击任何按钮时,它无法工作。

我尝试了很多方法,例如:

  • 在导入引用一引用二之前添加脚本
  • 将基本 href 从 / 更改为 ./
  • 更改路由器配置以使用哈希并将基本 href 更改为 <script>document.write('<base href="' + document.location + '" />');</script>
  • 使用ng build --prod --allow-file-access-from-files

这是我面临的确切错误: 在此处输入图像描述

我已经尝试了一天,如果有人可以提供帮助,我将不胜感激。

我不想运行网络服务器,我必须让它在 Chrome 上运行。

编辑:适用于 Safari

不适用于 Chrome、Firefox、Opera、IE、Microsoft Edge

谢谢!

4

3 回答 3

0

最后我使用Web Server for Chrome来托管一个简单的本地服务器,这不是我想要的,但总比没有好。

仍然希望是否有人可以解决这个问题。

谢谢!

于 2018-01-30T00:28:10.210 回答
0

有几个原因可能会导致路由器出现问题。如果您在生产环境中遇到问题,您应该确保遵循以下步骤:

步骤1:

在 index.html 的标题部分添加一个基本标记:

<base href="/">

第2步:

.htaccess在您的根目录中创建一个文件并在您的 index.html 上设置,ErrorDocument如下例所示。

RewriteEngine On

ErrorDocument 404 /

这应该可以解决您的问题。

解释:

当您加载一个页面时,例如 domain.com/settings,您的浏览器会向服务器发送一个请求并期望一个 settings.html 文件作为响应。

如果 ErrorDocument 指向 index.html 文件,Angular 路由器可以正确处理请求并将您重定向到 domain.com/settings 而不会出错。

于 2018-01-24T13:43:55.053 回答
0

使用哈希定位策略并完全删除 index.html 中的基本标记。

于 2021-09-26T10:51:30.080 回答