小编典典

Angular 2.0 路由器无法重新加载浏览器

all

我正在使用 Angular 2.0.0-alpha.30 版本。当重定向到不同的路由,然后刷新浏览器,它显示Cannot GET /route。

你能帮我弄清楚为什么会发生这个错误。


阅读 62

收藏
2022-07-08

共1个答案

小编典典

您看到的错误是因为您请求的 http://localhost/route
不存在。

我认为您看到的错误是因为您请求的http://localhost/route不存在。您需要确保您的服务器将所有请求映射到您的主 index.html 页面。

由于 Angular 2 默认使用 html5 路由,而不是在 url 末尾使用哈希,因此刷新页面看起来像是对不同资源的请求。

使用 html5 路由时,您需要将 应用程序中的所有路由(当前为 404)映射到 服务器端的 index.html。以下是一些供您选择的选项:

  1. 使用实时服务器:https ://www.npmjs.com/package/live-server

    $live-server --entry-file=index.html`
    
  2. 使用 nginx: http: //nginx.org/en/docs/beginners_guide.html

    error_page 404 /index.html
    
  3. Tomcat - web.xml 的配置。评论

    <error-page>
      <error-code>404</error-code>
      <location>/index.html</location>
    

2022-07-08