簡體   English   中英

反應路由器 V4 / V5 / V6 嵌套路由 404 net::ERR_ABORTED 404,

[英]React router V4 / V5 / V6 nested routing 404 net::ERR_ABORTED 404,

我已經使用反應路由器 V4 和 V5 測試了下面描述的所有內容。 在 V4 中,錯誤只是 404,但在 V5 中它還包括 net::ERR_ABORTED。

我正在使用 React 路由器創建一個 React 應用程序。 我需要一個/test路由和/test/:param1/:param2路由。

第一條路線沒問題,但是當我創建第二條路線並將瀏覽器導航到localhost:8080/test/something/something2我收到了一個空白頁面,控制台中有錯誤,說它無法GET localhost:8080/test/something/index.js

我正在使用 webpack 和 webpack-dev-server。 然后我測試了更多:

  1. 試圖將第二條路線放在第一條路線的組件內。
  2. 嘗試簡化到 /test/:param1 的路由,但這也不起作用。
  3. 然后我只嘗試了一個普通的 1 級嵌套路由 /test/test2(無參數),但仍然在標題中出現錯誤。

我還配置了一個404頁面,但是它僅在路徑為 1 級時才顯示: /{something that does't exist} 如果我導航到/{something}/{something more}我得到相同的ERR_ABORTED

由於一些我不知道的原因,瀏覽器嘗試GET /test/index.js ,這顯然不存在。

我花了一天時間瀏覽文章、教程和 react 路由器文檔,但到處都可以使用嵌套路由。 事實上,這個錯誤完全沒有。

編輯 1:經過更多測試后,我已經能夠將問題縮小到一個問題:如何配置 react-router 以始終在 {domain, localhost:port}/index.js 中查找包?

編輯 2:用 V6 的測試版對其進行了測試 - 結果相同。

幾個小時后,我終於想通了!! 這個錯誤太愚蠢了。 在我的index.html文件中,我需要帶有<script src="./index.js"></script> 只需刪除點即可解決問題。 如果有人有同樣的錯誤,首先檢查你的 index.html。

另一種方法是檢查 Webpack 配置中是否包含以下內容:

output: {publicPath: '/'},

花了我一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM