javascript42
Главная
Все учебники
Блог
Учебник Universal Router
Введение
Что такое Universal Router
История создания и развития
Философия и принципы работы
Сравнение с другими роутерами
Когда использовать Universal Router
Требования и зависимости
Установка и настройка
Установка через npm
Установка через yarn
Подключение через CDN
Подключение в проекте на ES6
Подключение в CommonJS окружении
Использование с TypeScript
Проверка работоспособности
Основы маршрутизации
Создание первого роута
Структура объекта маршрута
Параметр path и его значения
Параметр action и его назначение
Возврат значений из action
Синхронные и асинхронные действия
Передача контекста в action
Объект context и его свойства
Синтаксис путей
Статические пути
Динамические сегменты
Именованные параметры
Опциональные сегменты
Повторяющиеся сегменты
Использование регулярных выражений
Символы подстановки
Приоритет совпадений
Работа с параметрами
Извлечение параметров из URL
Доступ к параметрам в action
Типизация параметров
Валидация параметров
Преобразование параметров
Параметры запроса
Хеш-параметры
Работа с массивами параметров
Вложенные маршруты
Концепция вложенности
Создание дерева маршрутов
Передача управления дочерним маршрутам
Относительные пути во вложенных роутах
Наследование контекста
Композиция маршрутов
Разделение маршрутов на модули
Ленивая загрузка вложенных роутов
Middleware и хуки
Понятие middleware в Universal Router
Создание middleware функций
Порядок выполнения middleware
Прерывание цепочки выполнения
Глобальные middleware
Middleware на уровне маршрута
Хуки before и after
Обработка ошибок в middleware
Навигация и переходы
Программная навигация
Метод resolve
Генерация URL из маршрутов
Обратная маршрутизация
Редиректы и перенаправления
История переходов
Работа с History API
Обработка событий навигации
Обработка ошибок
Маршрут для 404 ошибки
Глобальный обработчик ошибок
Локальная обработка ошибок
Пользовательские страницы ошибок
Логирование ошибок маршрутизации
Восстановление после ошибок
Отладка проблем с маршрутизацией
Интеграция с фреймворками
Использование с React
Использование с Vue
Использование с Angular
Использование с Svelte
Использование с Lit
Серверный рендеринг
Гидратация на клиенте
Изоморфная маршрутизация
Продвинутые техники
Динамическая генерация маршрутов
Маршруты на основе данных
Защищенные маршруты
Авторизация и аутентификация
Кеширование результатов роутинга
Предзагрузка данных
Code splitting по маршрутам
Анимация переходов между страницами
Оптимизация производительности
Профилирование маршрутизации
Оптимизация дерева маршрутов
Минимизация пересчетов
Мемоизация результатов
Ленивая инициализация
Оптимизация регулярных выражений
Уменьшение размера бандла
Метрики производительности
Тестирование
Стратегии тестирования роутера
Модульное тестирование маршрутов
Тестирование навигации
Мокирование маршрутизации
Интеграционное тестирование
E2E тестирование с роутером
Тестирование асинхронных маршрутов
Отладка и инструменты разработчика
Включение режима отладки
Логирование переходов
Инспектирование состояния роутера
Отладка в браузере
Визуализация дерева маршрутов
Миграция и совместимость
Миграция с других роутеров
Миграция с React Router
Миграция с Vue Router
Обратная совместимость версий
Deprecated функционал
Стратегии постепенной миграции
Работа с legacy кодом
Паттерны и лучшие практики
Организация структуры маршрутов
Именование маршрутов
Управление состоянием через роутер
Разделение логики и представления
Переиспользование компонентов
Безопасность маршрутизации
Доступность и SEO
Расширенная конфигурация
Опции роутера
Кастомные резолверы
Настройка парсинга путей
Кастомизация контекста
Плагины и расширения
Декораторы маршрутов
Метаданные маршрутов
Серверная маршрутизация
Universal Router на сервере
Работа с Node.js
Обработка HTTP запросов
Генерация страниц на сервере
Middleware на сервере
Синхронизация клиента и сервера
Работа с состоянием
Сохранение состояния в URL
Восстановление состояния из URL
Синхронизация с внешним хранилищем
Scroll restoration
Breadcrumbs
История изменений
Интернационализация
Мультиязычные маршруты
Локализация путей
Переключение языков
Редиректы по языку
Префиксы локалей
Fallback для языков
SEO для мультиязычных сайтов
Безопасность
Валидация входных данных
Защита от инъекций
Безопасные редиректы
CSRF защита в маршрутизации
Ограничение доступа к маршрутам
Обработка подозрительных запросов
Справочник API
Класс UniversalRouter
Метод generate
Интерфейс Route
Интерфейс RouteContext
Интерфейс ResolveContext
Типы возвращаемых значений
Утилиты и хелперы