14

这个全新的路线语法听起来不错,现在我认为它确实如此。我放弃了让它工作的尝试,在这里我注意到甚至 Angular 2 页面中的主要示例都不起作用。如果您打开实时示例并尝试它,只需单击它就可以了,您可以看到 url 中的路径发生了变化,但它只是更改了字符串,如果您复制您的 url 并发送它,路径并不真正存在对于某人,他们将收到以下错误:

{
    "statusCode": 404,
    "error": "Not Found"
}

地狱,即使你只是刷新页面,你也会得到同样的错误。

如果您想重现该问题,请打开此 URL:

https://angular.io/resources/live-examples/tutorial/ts/plnkr.html

单击实时预览右上角的“在单独的窗口中启动预览”按钮,等待它加载页面,当您看到 URL 更改为以下内容时:

http://run.plnkr.co/KMzM8hkaCyhlnf3b/dashboard

执行 F5 刷新页面,您将收到错误消息。

这是一个错误,它应该工作的方式,还是他们甚至没有尝试过的东西?他们是否已经从一个糟糕的路由器实施重新开始,或者我只是完全迷失了我如何让它工作?请指教 !

我猜我最好使用主题标签实现。

4

2 回答 2

13

事实上,上传应用程序时出现 404 错误是正常的,因为浏览器中的实际地址正在更新(并且没有 # / hashbang 方法)。默认情况下,HTML5 历史记录用于在 Angular2 中重用。

如果您不想出现 404 错误,您需要更新您的服务器,以便为每个路由路径提供 index.html 文件。

这个链接也可以帮助你:当我刷新我的网站时,我得到一个 404。这是 Angular2 和 firebase

希望它可以帮助你,蒂埃里

于 2015-12-31T09:01:50.053 回答
1

这是设计的(由 HTML5 而非 Angular 引入)。切换到 HashLocationStrategy 或使用知道如何处理(重定向)此类请求的服务器。另请参阅https://github.com/angular/angular/issues/4735

于 2015-12-31T07:45:06.297 回答