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

Fre*_*One 1 javascript nested reactjs react-router react-router-dom

我已经使用 React Router 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. 然后我尝试了正常的一级嵌套路由 /test/test2(无参数),但标题中仍然出现错误。

我还配置了一个404页面,但仅当路径为 1 level: 时才会显示/{something that does't exist}。如果我导航到/{something}/{something more}我会得到同样的结果ERR_ABORTED

由于某种我未知的原因,浏览器会尝试这样做GET /test/index.js,但这显然不存在。

我花了一天时间浏览文章、教程和 React 路由器文档,但嵌套路由到处都可以工作。事实上,这个错误绝对没有任何问题。

Edit1:经过更多测试后,我已经能够将问题缩小到一个问题:如何配置react-router以始终在{domain,localhost:port} /index.js中查找捆绑包?

Edit2:用 V6 的测试版测试它 - 相同的结果。

Dav*_*Min 6

另一个方法是检查 Webpack 配置中是否有以下内容:

output: {publicPath: '/'},
Run Code Online (Sandbox Code Playgroud)

花了我一些时间。