react專案打包部署上線完畢後,重新整理報錯404

2022-02-25 09:12:38 字數 887 閱讀 6678

報錯分析:

在瀏覽器內可以從首頁跳轉到其他路由位址,而不報錯是因為這些是由前端自己渲染的。react router定義的對應路由,指令碼並沒有重新整理訪問請求後台資料,是js動態更改的location。

當重新整理時,先訪問的是後台位址,反饋資料後再載入頁面內的react**,最後才在瀏覽器內執行,這時報錯404。是因為後台並沒有針對這個過程的路由給出返回的html內容,就沒有執行react-router。

只需要把原來的browserrouter替換成hashrouter,這樣所有的請求都會定位在index.html頁面,伺服器端就不需要做任何的配置了。

路由控制為browserrouter時,url是指向真實url的資源路徑,當通過真實url路徑訪問**時,由於路徑是指向伺服器的真實路徑,而該路徑下並沒有相關的資源,所以訪問時就報錯404.

在react專案中採用react-router來配置頁面路由時,react-router是建立在history基礎上,常見的history路由方案有三種形式:

1、hashhistory

2、browserhistory

3、creatememoryhisory

在本地開發時使用browserrouter是不出現問題的,因為在webpack.config.js中使用了webpack-dev-server就已經做好了配置。

如果在伺服器動態支援時就使用browserrouter,否則使用hashrouter。因為單純的靜態頁面路徑從/切換到/abc之後,這時重新整理頁面將會無法正常訪問

如果覺得寫伺服器配置檔案麻煩的話就直接使用hashrouter 。

React專案的打包與部署

打包編譯 執行完上述命令,開啟本地瀏覽器,輸入localhost 3000,就能看到專案的執行效果。此時是開發模式。若使用npm run build,會被編譯到build目錄。將整個應用打包發布,自動試用webpack進行壓縮與優化。在專案路徑下,敲npm run buil,就出現了build資料夾...

React打包部署

筆記來自 首屏優化 前言 腳手架配置檔案是隱藏的,需要先使用命令顯示,怎麼顯示檢視 react router 筆記 前文已經有的配置 打包配置 config paths.js module.exports 路徑錯誤原因,檢視打包檔案的index.html 可以看到打包出來的js的訪問路徑是 loca...

React專案的打包與部署到騰訊雲

npm 執行完上述命令,開啟本地瀏覽器,輸入localhost 3000,就能看到專案的執行效果。此時是開發模式。若使用npm run build,會被編譯到build目錄。將整個應用打包發布,自動試用webpack進行壓縮與優化。在專案路徑下,敲npm run buil,就出現了build資料夾,...