【问题标题】:React routing, path not working, bundle not found反应路由,路径不起作用,找不到捆绑包
【发布时间】:2018-10-20 21:38:23
【问题描述】:

以下路由效果很好,并显示了 AdministratePage 组件:

 <Route path="/admin" component={AdministratePage} />

但是这条路线:

 <Route path="/admin/all" component={AdministratePage} />

...导致以下错误:

http://localhost:8080/admin/bundle.js404(未找到)

我哪里出错了?我不允许使用任何路径吗?

我正在使用 react-router-dom 4.1.2。

我的 webpack.config.js :

  output: {
        path: path.resolve('dist'),
        filename: '/bundle.js'
    },

我的 index.html:

   <div id="app"></div>

谢谢。

【问题讨论】:

    标签: reactjs react-router-v4


    【解决方案1】:

    斜线在这里看起来没用

    filename: '/bundle.js'
    

    也尝试定义 publicPath

    output: {
      filename: 'bundle.js',
      path: path.resolve('dist'),
      publicPath: '/',
    },
    

    https://webpack.js.org/guides/public-path/

    【讨论】:

    • 谢谢!这样可行。问题,您知道这个 bundle.js 存储在文件系统中的什么位置吗?在我的客户端文件夹中找不到它...
    • 构建后应该在 dist 中。当你使用 webpack 服务器(开发模式)时 - 你不会看到它
    【解决方案2】:

    解决此问题的另一种方法是将以下标记添加到您的index.html 页面:

    <base href="/">
    

    【讨论】:

    • 这个拯救了我的一天。我不想改变 webpack。感谢这个替代解决方案!
    • 好主。谢谢!
    【解决方案3】:

    React-router v4 现在允许您使用正则表达式来匹配参数

    <Route path="/admin/all | /admin" component={AdministratePage} />
    

    它使用正则表达式的路径

    path-to-regexp

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2020-10-18
    • 2015-11-25
    • 2017-02-24
    相关资源
    最近更新 更多