React router 5.0.0 在 webpack 生产构建中失败(不变式失败:你不应该在 <Router> 之外使用 <Route>)

use*_*271 5 javascript reactjs webpack react-router react-router-dom

我开始了一个新的宠物项目,为 React 设置 webpack,以便更好地理解 webpack 的工作,我的目标是设置服务器端渲染和客户端渲染

虽然在开发模式下工作正常但是在生产模式下我在服务器端渲染 React 元素时出错

Invariant failed: 你不应该在 < Router > 之外使用 Route

它一定与 webpack 优化代码有关,但我无法指出它

反应路由器 4.2.0 工作正常,但是反应路由器 5.0.0 不工作。我尝试了其他解决方案,例如

  • 仅使用反应路由器
  • 从反应路由器导入静态路由器 import {StaticRouter} from "react-router"

但没有任何效果,我在 github 上设置了一个 repo

https://github.com/RachitKalra/react-setup

只需安装节点依赖项并为开发模式运行 npm debug 并为生产模式运行 npm start (导致错误)

预先感谢,我现在被困在这里一段时间了

Invariant failed: You should not use <Route> outside a <Router>
Error: Invariant failed: You should not use <Route> outside a <Router>
    at invariant (D:\Work\react-setup\node_modules\tiny-invariant\dist\tiny-invariant.cjs.js:13:11)
    at Object.children (D:\Work\react-setup\node_modules\react-router\cjs\react-router.js:454:21)
    at a.render (D:\Work\react-setup\www-start:310:64)
    at a.read (D:\Work\react-setup\www-start:307:58)
Run Code Online (Sandbox Code Playgroud)