Включение режима отладки

Unpoly — это библиотека для улучшения взаимодействия на клиентской стороне без полного перезагрузки страницы. Одним из ключевых инструментов при разработке и отладке приложений на Unpoly является режим отладки. Он позволяет отслеживать внутренние события, ошибки и поведение библиотечных функций в реальном времени.

Активация режима отладки

Режим отладки включается через глобальный объект up. Для этого используется метод up.debug.enable(). После активации все действия Unpoly, такие как отправка AJAX-запросов, обработка ответов и управление фрагментами DOM, начинают логироваться в консоль браузера. Пример включения:

up.debug.enable();

Этот метод следует вызывать до выполнения каких-либо Unpoly-операций, чтобы не пропустить события, происходящие при инициализации страницы или привязке событий.

Варианты логирования

Unpoly предоставляет несколько уровней детализации логов:

  • up.debug.logLevel — позволяет установить степень подробности вывода:

    • 'info' — базовая информация о действиях Unpoly;
    • 'warn' — предупреждения о возможных проблемах;
    • 'error' — выводятся только ошибки;
    • 'trace' — максимальная детализация, включая стек вызовов и внутренние события.

Пример настройки уровня логирования:

up.debug.logLevel = 'trace';

Отслеживание событий

Unpoly генерирует множество событий, которые можно использовать для детальной отладки. Основные из них:

  • up:fragment:loaded — фрагмент был загружен и вставлен в DOM.
  • up:fragment:reload — фрагмент перезагружается.
  • up:request:started — инициирован AJAX-запрос.
  • up:request:finished — AJAX-запрос завершен.

Подписка на события выглядит так:

up.on('up:request:started', function(event) {
  console.log('Запрос начат', event);
});

up.on('up:fragment:loaded', function(event) {
  console.log('Фрагмент загружен:', event.fragment);
});

Использование этих событий позволяет проследить полный жизненный цикл запросов и обновлений фрагментов, выявить проблемы с селекторами, обработчиками и данными ответа сервера.

Встроенная панель отладки

Unpoly также поддерживает встроенную панель отладки, которая отображает информацию о последних действиях библиотеки. Для её активации используется:

up.debug.showPanel();

Панель позволяет:

  • видеть историю AJAX-запросов;
  • отслеживать загруженные фрагменты и их селекторы;
  • просматривать ошибки и предупреждения без необходимости открывать консоль.

Отключение режима отладки

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

up.debug.disable();

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

Практические рекомендации

  • Режим отладки следует включать только в процессе разработки.
  • Уровень trace рекомендуется использовать при сложных проблемах с загрузкой фрагментов или нестандартными запросами.
  • Для больших страниц с множеством фрагментов частое включение логов может замедлять работу браузера, поэтому рекомендуется комбинировать info и селективное отслеживание событий.

Включение режима отладки в Unpoly — мощный инструмент для анализа поведения приложения, устранения ошибок и оптимизации работы с фрагментами DOM и AJAX-запросами. Правильное использование методов up.debug.enable(), up.debug.logLevel и событий библиотеки позволяет получать детализированную информацию о каждом действии Unpoly.