Я использую create-react-app. Я хочу разделить базовый код реакции-маршрутизатора, но я хочу получить первый фрагмент, который пользователь открывает в браузере, а затем асинхронно получать другие фрагменты в фоновом режиме.
Маршруты
const HomeModule = React.lazy(() => import('./modules/ft_home_module/src/main'));
const AuthModule = React.lazy(() => import('./modules/ft_auth_module/src/main'));
const ProfileModule = React.lazy(() => import('./modules/ft_profile_module/src/main'));
const MerchantModule = React.lazy(() => import('./modules/ft_merchant_module/src/main'));
<Route path="/home" component={HomeModule} />
<Route path="/auth" component={AuthModule} />
<Route path="/profile" component={ProfileModule} />
<Route path="/merchant" component={MerchantModule} />
предположим, если пользователь открывает /home в браузере, то домашний фрагмент будет загружен первым после загрузки первого фрагмента, вызывающего другие фрагменты асинхронно в фоновом режиме.
Обязательный вывод
- Откройте
/home
в браузере - Получить домой кусок первым
- затем другие три фрагмента асинхронно в фоновом режиме
на самом деле я тестирую производительность с помощью расширения Lighthouse Chrome. разделение кода на базе маршрутизатора дает мне хорошую производительность первой страницы, но когда я открываю вторую страницу, это требует времени, но это не должно занимать время. Я думаю, что это возможно, если мы получим другие чанки асинхронно в фоновом режиме после загрузки первого чанка.