У меня есть простая webpack@4
+ react-loadable
настройка для разбиения кода, и при сборке я вижу, что мои пакеты уже разделены компонентами, которые я строю с react-loadable
.Проблема в том, что эти пакеты загружаются вместе с основным, даже если они еще не посещены или не загружены.
// routes.js
<Route>
<IndexRoute component={HomeScreen} />
<Route path="user" component={UserLayout}>
<IndexRoute component={UserAsyncScreen} />
</Route>
</Route>
// UserAsyncScreen.js
const UserAsyncScreen = Loadable({
loader: () => import(./UserScreen')
})
В этом случае, когда я открываю домашний маршрут, из вкладки Сеть на devtools я вижупакет для UserAsyncScreen
не загружен.
Что я могу вспомнить, так как я все еще использую старый react-router@2.8.1
, где он использует централизованные маршруты, пакеты будут загружены, потому что мы определяем все компоненты в основномМаршрутизатор.
Я не уверен, что моя мысль верна, или я получаю неправильную концепцию с динамической загрузкой пакета, когда это необходимо.Но из того, что я имею сейчас, - это просто разделение основных пучков на маленькие кусочки.