我正在使用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 块,在后台异步调用其他块
所需输出
/home
在浏览器中打开- 先拿回家块
- 然后其他三个块在后台异步
实际上我正在通过lighthouse chrome 扩展测试性能。路由器基础代码拆分为我提供了第一页的良好性能,但是当我打开第二页时,它需要时间,但不应该需要时间。我认为如果我们在加载第一个块后在后台异步获取其他块是可能的