[Angular] 網頁重新整理變404
解決方法 【Angular】——路由之重新整理報404 https://iter01.com/149367.html 專案進入測試期,發現了一個開發過程中沒有發現的問題:釋出後訪問網站,使用過程一切正常: 但只要重新整理,就會: 開始查了一些資料:大都是關於這樣的說法: 那如果必須要這樣解決的話,不就違背了前後端分離的原則?又開始讓後端控制前端,這樣前端自己封裝路由又有何深刻的意義。因為有著這樣的信念:肯定有前端的解決方案,所以繼續查資料,最終發現了我想要的,在此分享給大家: 首先,我用的是tomcat釋出、http://localhost:8080/vb/type是第一個頁面,第一次跳轉這個頁面,一切正常,重新整理,則報404。這是因為在介面出現後,瀏覽器則不再訪問前端,除非有按鈕等觸發,所以重新整理後瀏覽器不再走前端的路由,而是訪問後端,而後端並沒有定義該路由,所以找不到路徑。這算是Angular的一個坑吧...... 解決方案: 配置app.module.ts 在NgModule中新增: providers : [{ provide : LocationStrategy, useClass : HashLocationStrategy, }], 如果你的服務也許在此,則: providers : [DataService, { provide : LocationStrategy, useClass : HashLocationStrategy, }], 另外需要引入: import {HashLocationStrategy, LocationStrategy} from '@angular/common' ; OK,這樣設定後,訪問Angular,會自動在根節點後面新增一個#錨點。在此重新整理就不會報404錯誤了。 ...