ReactJs动态路由代码拆分

时间:2017-01-27 18:15:26

标签: javascript reactjs webpack react-router

我有像这样的路由器设置

<Router path="/" component={Application}>
 <Route path="/login" getComponent={(location, cb)=>{

      require.ensure([], function (require) {
                        cb(null, require('./components/Login').default);
                      });
}} />

 <Route path="/article/:articleid" getComponent={(location,cb)=>{
     require.ensure([], function (require) {
                        cb(null, require('./components/Article').default);
                      });
}}


</Router>

现在,主页/加载/login页面加载/0.chunk.js所需的块,但/article/some-article页面尝试从{加载所需的块1.chunk.js {1}}找不到。

Webpack在一个位置/article/1.chunk.js/0.chunk.js生成所有块。有人可以帮助/1.chunk.js寻找位置/article/:articleid而不是/article/的块以及如何纠正这个问题。 ?

1 个答案:

答案 0 :(得分:0)

听起来你有相对的路径问题。您应该确保output.publicPath正在生成绝对路径。

module.exports = {
  output: {
    chunkFilename: '[id].chunk.js',
    publicPath: '/'
  }
}