React Roter v3 API上有什麼可用的方法來實現每流束分裂?從文檔和互聯網上的例子,有一種方法來拆分,但它是每個組件,使用PlainRoute與getChildRoutes,getComponent等。使用它與System.imports
我分別爲每個路由獲得拆分子束。React Router v3每流束分裂
我試過的是這樣的,我在開發工具的Network標籤中獲得了0.js, 1.js ... 9.js
塊。
getChildRoutes(_, fetchComponents) {
Promise.all([
System.import('./pages/page1.jsx'),
System.import('./pages/page2.jsx'),
...
System.import('./pages/page10.jsx')
])
.then(([page1, page2... page10]) => {
fetchComponents(null, [
{path: '...', indexRoute: {component: page1}},
{path: '...', component: page2},
...
{path: '...', component: page10}
])
})
}
那麼有可能這樣的結構只有3個塊(子包)?
<Router ...>
{/*flow 1*/}
<Rote component...>
<Route path... component... />
<Route component>
<IndexRoute .../>
<Route path ... component... />
<Route path ... component... />
<Route path ... component... />
...
</Route>
</Route>
{/*flow 2*/}
<Route>
...
</Route>
{/*flow 3*/}
<Route />
</Router>
如果這是不可能做出反應路由器做到這一點,我會很感激任何提示如何做到這一點用的WebPack正常。
這幫了很多! – OlehZiniak
我現在有一個問題:如果我有3塊這樣的話,對於第一個流(在你的例子中爲'path:'app''),獲取'0.js',第二個:'0.js'和'1.js',第三個'0.js','1.js'和'2.js'。這些流程是100%獨立的,順序無關緊要:最後一個總是取得所有的塊。 – OlehZiniak
嘿,對不起,如果我的回答不明確。我更新了答案,希望能解決您的問題。如果這不起作用發佈你正在使用的代碼,我會嘗試弄清楚爲什麼它會得到所有的大塊 –