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

时间:2020-08-26 07:22:36

标签: javascript reactjs react-router nested 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. 然后我只尝试了一个普通的1级嵌套路由/ test / test2(没有参数),仍然出现标题错误。

我还配置了一个404页面,但是仅当路径为/{something that does't exist}级别时才显示该页面。如果导航到/{something}/{something more},我将得到相同的ERR_ABORTED

由于某些我不知道的原因,浏览器尝试访问GET /test/index.js,显然不存在。

我花了整整一天的时间浏览文章,教程和React Router文档,但是嵌套路由都可以正常工作。实际上,此错误绝对没有。

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

Edit2:使用V6的Beta版进行了测试-结果相同。

2 个答案:

答案 0 :(得分:1)

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

output: {publicPath: '/'},

花了我一些时间。

答案 1 :(得分:0)

几个小时后,我终于想通了!!错误真是愚蠢。在我的index.html文件中,我需要与<script src="./index.js"></script>捆绑在一起。只需删除点即可解决此问题。如果有人有相同的错误,请先检查您的index.html。