К основному содержанию
скилл CX Codex

route-based — скилл для Claude Code: code splitting по маршрутам

Подсказывает агенту, как разбить SPA по маршрутам и грузить только тот код, который нужен на текущей странице. Пригодится, когда маршрутов много, а стартовая загрузка тормозит.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add PatternsDev/skills --skill route-based -a claude-code
Открыть на GitHub

Что делает route-based

Скилл описывает приём route-based splitting: компоненты уровня страницы подгружаются лениво, по одному на маршрут. Внутри инструкция сочетать React Suspense или loadable-components с библиотеками маршрутизации вроде react-router. Агент получает готовый порядок действий, а не общие слова про оптимизацию бандла.

Задержка при переходе между страницами — обычное дело, поэтому именно туда и переносится загрузка. Пользователь и так ждёт, а приложение в этот момент тянет только нужный чанк. В деталях упомянуто, что Next.js, Remix и React Router умеют это из коробки, а в самодельной сборке нужен React.lazy() с Suspense либо отдельные точки входа в бандлере.

Скилл нацелен на файлы **/*.js и **/*.ts, так что в проектах на других языках он не сработает. Смежные темы — module-pattern и singleton-pattern. Если у вас один маршрут и весь код всё равно грузится сразу, делить нечего.

Какие задачи решает

  • уменьшить вес стартового бандла в SPA
  • разложить код по маршрутам и грузить его лениво
  • подключить React.lazy() и Suspense к страницам
  • перенести загрузку в паузу при переходе между страницами
  • настроить точки входа бандлера под каждый маршрут

Примеры запросов агенту

  • Разбей приложение по маршрутам и сделай ленивую загрузку страниц через React.lazy() и Suspense
  • Подключи route-based splitting к react-router: каждый маршрут — отдельный чанк
  • Проверь, что при переходе между страницами грузится только код текущего маршрута

Как установить route-based

1Через Skills CLI (Vercel)

npx skills add PatternsDev/skills --skill route-based -a claude-code

2Вручную: положить файлы

~/.claude/skills/route-based/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/route-based/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о route-based

Как установить route-based в Claude?

Выполните npx skills add PatternsDev/skills --skill route-based -a claude-code. Скилл окажется в ~/.claude/skills/route-based/SKILL.md.

Что делает route-based?

Учит агента разбивать SPA по маршрутам: компоненты страниц подгружаются лениво, и на каждой странице запрашивается только нужный бандл.

Нужен ли route-based, если проект на Next.js или Remix?

Эти фреймворки поддерживают разбиение по маршрутам сами. Скилл полезнее в самодельной сборке, где React.lazy() с Suspense или точки входа бандлера настраиваются вручную.

Исходный текст

SKILL.md · MIT
---
name: route-based
description: Teaches route-based code splitting for single-page applications. Use when different routes load distinct feature sets and you want to avoid loading all route code upfront.
paths:
  - "**/*.js"
  - "**/*.ts"
license: MIT
metadata:
  author: patterns.dev
  version: "1.1"
related_skills:
  - "module-pattern"
  - "singleton-pattern"
---

# Route Based Splitting

We can request resources that are only needed for specific routes, by adding _route-based splitting_. By combining **React Suspense** or `loadable-components` with libraries such as `react-router`, we can dynamically load components based on the current route.

By lazily loading the components per route, we're only requesting the bundle that contains the code that's necessary for the current route. Since most people are used to the fact that there may be some loading time during a redirect, it's the perfect place to lazily load components!

## When to Use

- Use this when your application has multiple routes and not all code is needed on every page
- This is helpful for reducing initial load time by only loading code for the current route

## Instructions

- Combine React Suspense or `loadable-components` with routing libraries like `react-router`
- Lazily load page-level components per route for optimal code splitting
- Take advantage of natural loading pauses during route transitions for a seamless experience

## Details

By lazily loading the components per route, only the bundle containing code necessary for the current route is requested. Since users expect some loading time during navigation, route transitions are a natural place to introduce code splitting without degrading the experience.

Most modern frameworks (Next.js, Remix, React Router) support route-based splitting out of the box. In a custom setup, use `React.lazy()` with `Suspense` to wrap route-level components, or configure your bundler's entry points per route.

## Source

- [patterns.dev/vanilla/route-based](https://patterns.dev/vanilla/route-based)

© patterns.dev · MIT · PatternsDev/skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
react-router-v7 existential-birds Скилл с практиками React Router v7: подсказывает, когда брать loader, Form или fetcher, и как настраивать вложенные маршруты. CX Codex +1 572установок barba-js freshtechbro Скилл по Barba.js: помогает настроить плавные переходы между страницами без полной перезагрузки и связать их с GSAP. CX Codex +1 2 400установок clerk-react-patterns clerk Скилл помогает настроить аутентификацию в React SPA на базе @clerk/react. Пригодится при сборке проектов на Vite или Create React App с закрытыми маршрутами. CX Codex +1 19 700установок sentry-react-router-framework-sdk getsentry Помогает настроить мониторинг ошибок и трейсинг в проектах на React Router v7 в режиме Framework mode. Пригодится при подключении пакета @sentry/react-router. CX Codex +1 1 800установок react18-dep-compatibility официальный github Проверяет минимальные версии зависимостей для React 18.3.1 и React 19. Пригодится при обновлении React и разборе peer dependency конфликтов. 764установок coding-standards affaan-m Базовые правила кода для проектов: проверяет именование, запрещает мутации объектов и следит за простыми конструкциями. Пригодится на ревью и рефакторинге. CX Codex +1 5 700установок

Из того же набора44

dynamic-import Обучает агента разделять бандл через dynamic import(). Скилл помогает отложить загрузку тяжёлых библиотек и диалогов до действий пользователя. CX Codex +1 1 500установок static-import Объясняет синтаксис import в ES2015 и помогает решить, когда модуль стоит грузить сразу, а когда переключиться на динамический импорт. CX Codex +1 1 400установок prpl Скилл обучает ИИ-агента паттерну PRPL для ускорения первой загрузки веб-приложений на слабых устройствах и медленных сетях. CX Codex +1 1 400установок tree-shaking Скилл объясняет tree shaking и подсказывает агенту, как убрать неиспользуемые экспорты из JavaScript-бандла. Пригодится, когда сборка тянет лишнее. CX Codex +1 1 400установок virtual-lists Обучает агента технике виртуализации списков и таблиц в веб-приложениях. Помогает убрать задержки при скролле и ускорить начальную отрисовку страниц. CX Codex +1 1 500установок third-party Подсказывает, как снизить влияние сторонних скриптов на загрузку страницы и Core Web Vitals, не выкидывая аналитику и виджеты. CX Codex +1 1 500установок import-on-visibility Скилл учит агента откладывать загрузку компонентов и картинок до момента, когда пользователь доскроллит до них. Пригодится, если первый экран грузится слишком долго. CX Codex +1 1 500установок react-data-fetching Учит агента правильной загрузке данных в React: параллельные запросы, кэш, дедупликация, Suspense. Пригодится, когда компоненты тянут данные через useEffect и fetch. CX Codex +1 1 100установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой