Angular刷新瀏覽器 404 問題


最近在用angular寫一個后台的項目,遇到一個小問題。

進入某個路由頁面之后,手動觸發瀏覽器的刷新,然后就404了。。。

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

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

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

如果我沒記錯的話,在非spa網頁程序里面#是用於網頁錨點處理。但是在spa程序里面,#居然還可以這么用,真是佩服Google工程師的腦洞啊

處理方式也很簡單:

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

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

然后再放到provider里面去

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM