React routing, path not working, bundle not found

2020-04-28 08:07发布

The following route works great and displays the AdministratePage component:

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

However this route:

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

...results in the following error:

http://localhost:8080/admin/bundle.js 404 (Not Found)

Where do I go wrong? Am I not allowed to use any path?

I'm using react-router-dom 4.1.2.

My webpack.config.js :

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

My index.html:

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

Thank you.

3条回答
▲ chillily
2楼-- · 2020-04-28 08:53

Slash looks useless here

filename: '/bundle.js'

Also try to define publicPath

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

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

查看更多
Emotional °昔
3楼-- · 2020-04-28 09:01

Another way of solving this problem is to add the following tag to your index.html page:

<base href="/">
查看更多
霸刀☆藐视天下
4楼-- · 2020-04-28 09:07

React-router v4 now allows you to use regexes to match params

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

It uses path-to-regexp

path-to-regexp

查看更多
登录 后发表回答