javascript42
Главная
Все учебники
Блог
Учебник Navigo
Введение
Что такое Navigo
История и развитие библиотеки
Преимущества использования Navigo
Сравнение с другими роутерами
Установка и подключение
Базовая настройка проекта
Основы маршрутизации
Концепция клиентской маршрутизации
Создание первого роута
Синтаксис определения маршрутов
Обработчики маршрутов
Запуск роутера
Навигация между страницами
Работа с историей браузера
Параметры маршрутов
Динамические параметры
Именованные параметры
Получение значений параметров
Необязательные параметры
Валидация параметров
Типизация параметров
Query-параметры
Работа с query-строками
Парсинг параметров запроса
Передача данных через URL
Обработка множественных значений
Кодирование и декодирование
Вложенные маршруты
Иерархия маршрутов
Организация роутов
Префиксы путей
Группировка маршрутов
Наследование параметров
Хуки и перехватчики
Hooks before
Hooks after
Hooks leave
Hooks already
Цепочки хуков
Асинхронные хуки
Прерывание навигации
Передача данных между хуками
Программная навигация
Метод navigate
Переход на маршрут
Передача состояния
Замена истории
Относительные переходы
Навигация назад и вперед
Обновление текущего маршрута
Обработка ошибок
Несуществующие маршруты
Обработчик 404
Перехват ошибок в хуках
Fallback-маршруты
Редиректы при ошибках
Логирование ошибок
Защищенные маршруты
Проверка авторизации
Ограничение доступа
Редиректы для неавторизованных
Роли и права доступа
Токены в маршрутизации
Guard-функции
Ленивая загрузка
Динамический импорт модулей
Асинхронная загрузка компонентов
Code splitting
Оптимизация bundle
Индикаторы загрузки
Обработка ошибок загрузки
Работа с hash-режимом
Hash-роутинг
Настройка hash-режима
Отличия от history API
Совместимость со старыми браузерами
Переключение между режимами
Мета-информация маршрутов
Добавление метаданных
Заголовки страниц
Meta-теги и SEO
Open Graph
Динамическое обновление meta
Переходы и анимации
Управление переходами
CSS-анимации при смене роутов
Задержки при навигации
Плавная смена контента
Индикаторы загрузки страниц
Интеграция с фреймворками
Использование с Vanilla JS
Интеграция с React
Интеграция с Vue
Интеграция с Svelte
Паттерны интеграции
Обертки и адаптеры
Middleware
Концепция middleware
Создание промежуточных обработчиков
Порядок выполнения
Глобальные middleware
Специфичные middleware
Композиция middleware
Состояние роутера
Получение текущего маршрута
Информация о последнем переходе
Доступ к параметрам
Состояние навигации
Проверка активного роута
Реактивность состояния
Продвинутые паттерны
Wildcard-маршруты
Регулярные выражения в путях
Именованные роуты
Алиасы маршрутов
Приоритеты роутов
Композиция обработчиков
Тестирование
Модульное тестирование роутов
Мокирование навигации
Тестирование хуков
Симуляция переходов
Проверка редиректов
E2E тестирование
Оптимизация производительности
Минимизация перерисовок
Кеширование данных маршрутов
Предзагрузка контента
Оптимизация хуков
Профилирование навигации
Debounce и throttle
Отладка
Логирование навигации
Трейсинг переходов
Отладка хуков
Визуализация маршрутов
Типичные проблемы и решения
Расширенная конфигурация
Настройка стратегии роутинга
Кастомные парсеры
Модификация поведения
Плагины и расширения
Конфигурация для production
Миграция и обновление
Миграция с других роутеров
Обновление версий Navigo
Breaking changes
Стратегии миграции
Совместимость API
Безопасность
Защита от XSS через URL
Санитизация параметров
Валидация путей
Ограничение редиректов
Безопасные практики
Accessibility
Доступность навигации
Управление фокусом
Объявление переходов
Клавиатурная навигация
Screen reader поддержка
Справочник API
Конструктор Navigo
Методы экземпляра
Параметры конфигурации
События
Константы и перечисления