mcpField
R
route-based

route-based

github.com/patternsdev开发2571.5k 次安装28 周前更新
代码仓库

关于 route-based

面向 React 开发者的路由拆分指南,介绍按当前路由延迟加载页面组件,避免每个页面都请求不需要的代码。内容涵盖常用实现方式及其对初始加载的帮助。

主要功能

  1. 01按路由延迟加载页面组件
  2. 02结合 React Suspense 或 loadable-components
  3. 03配合 react-router 等路由库
  4. 04说明现代框架的内置支持

适用场景

  1. 01减少多路由应用的初始加载代码
  2. 02仅为当前页面请求所需代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/patternsdev/skills --skill route-based

安装后在 Claude Code 中输入/route-based确认已加载。

详细介绍

基于路由的拆分

我们可以通过添加_基于路由的拆分_,按需请求仅特定路由需要的资源。将 React Suspense 或 loadable-components 与 react-router 等库结合使用,可以根据当前路由动态加载组件。

按路由延迟加载组件后,我们只会请求包含当前路由所需代码的包。大多数人都习惯了重定向时可能会有一些加载时间,因此这里正是延迟加载组件的理想时机!

适用场景

  • 当应用有多个路由,且并非每个页面都需要所有代码时,使用此方法
  • 这有助于缩短初始加载时间,因为只会加载当前路由所需的代码

说明

  • 将 React Suspense 或 loadable-components 与 react-router 等路由库结合使用
  • 按路由延迟加载页面级组件,以实现最佳代码拆分效果
  • 利用路由切换时自然出现的加载间隙,打造流畅体验

详情

按路由延迟加载组件后,只会请求包含当前路由所需代码的包。由于用户会预期导航时出现一些加载时间,因此路由切换是引入代码拆分、同时不影响体验的自然时机。

大多数现代框架(Next.js、Remix、React Router)都开箱支持基于路由的拆分。在自定义配置中,可以使用 React.lazy() 和 Suspense 包装路由级组件,也可以按路由配置打包工具的入口点。

来源

评论

支持 Markdown