Angular刷新瀏覽器 404 問題

最近在用angular寫一個後臺的項目,遇到一個小問題。webpack

進入某個路由頁面以後,手動觸發瀏覽器的刷新,而後就404了。。。web

翻看Angular的文檔,發現Google早已經給咱們想到了這個問題的處理方案瀏覽器

那就是Angular的hash風格的url,就是在瀏覽器的url裏面加入一個#號app

這樣刷新的話,瀏覽器會忽略url的#號後面的,,等頁面價值完成以後,纔會再次處理#號。ide

若是我沒記錯的話,在非spa網頁程序裏面#是用於網頁錨點處理。可是在spa程序裏面,#竟然還能夠這麼用,真是佩服Google工程師的腦洞啊url

處理方式也很簡單:

在app.module.ts裏面引入hash風格的庫spa

import { HashLocationStrategy, LocationStrategy } from "@angular/common";

而後再放到provider裏面去code

  providers: [ {
    provide: LocationStrategy,
    useClass: HashLocationStrategy
  }]

再次在Vscode裏面保存一下,webpack會自動從新編譯並刷新瀏覽器。這時候,url的風格就成了一個帶#的,這時候隨便怎麼刷新瀏覽器,都能正常了blog

相關文章
相關標籤/搜索