Quasar Dev Inspector

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


Активация Dev Inspector

Dev Inspector автоматически интегрирован в проекты Quasar, собранные в режиме разработки (quasar dev). Для активации инспектора используется сочетание клавиш:

Ctrl + Shift + I

или

Cmd + Shift + I

на macOS. После этого на странице появляется оверлей, подсвечивающий компоненты при наведении мышью.

Особенности активации:

  • Инспектор работает только в режиме разработки.
  • В продакшн-сборках инструмент отключается, что исключает влияние на производительность.
  • Сочетания клавиш можно переназначить через конфигурацию quasar.conf.js при необходимости.

Навигация по компонентам

После активации Dev Inspector на странице появляются визуальные подсказки, отражающие иерархию компонентов:

  • Выделение компонентов при наведении — подсветка границ компонента и отображение его имени.

  • Панель информации — при клике на компонент открывается панель с подробной информацией о:

    • props (свойства)
    • события (emits)
    • слоты
    • состояние (data и computed)
    • стили и классы CSS

Подсветка компонентов позволяет быстро определить, какие части интерфейса связаны с конкретными компонентами Quasar или пользовательскими Vue-компонентами.


Просмотр и редактирование props

Dev Inspector предоставляет удобный способ изучать свойства компонентов:

  • Текущие значения props отображаются в реальном времени.
  • Интерактивное редактирование — при изменении значений props изменения тут же применяются к компоненту на странице.
  • Поддержка типизации — если компонент использует props с указанием типа, инспектор отображает допустимые значения и типы данных.

Эта функциональность позволяет тестировать поведение компонентов без необходимости менять код и перезапускать сборку.


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

Для компонентов Vue, включая Quasar-компоненты, Dev Inspector обеспечивает подробный просмотр событий:

  • Список всех сгенерированных событий ($emit) с указанием момента их вызова.
  • Возможность наблюдать за передачей данных через события.
  • Фильтрация событий по имени компонента или типу события.

Это особенно полезно при работе с интерактивными элементами интерфейса, такими как кнопки, таблицы, вкладки и формы.


Работа со слотами

Dev Inspector отображает все слоты компонента:

  • Содержимое слотов можно просматривать и редактировать.
  • Возможность видеть вложенные слоты и их иерархию.
  • Подсветка используемых слотов позволяет точно определить, какие части интерфейса управляются через слоты, а какие являются внутренними.

Это облегчает работу с компонентами, использующими динамические шаблоны и сложные композиции.


Интеграция с редактором кода

Quasar Dev Inspector поддерживает мгновенную навигацию к исходному коду компонентов:

  • Открытие файла компонента в IDE или текстовом редакторе прямо из инспектора.
  • Переход к конкретным строкам кода, соответствующим выделенному элементу.
  • Поддержка горячих клавиш для быстрого возврата к инспектору после редактирования.

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


Настройка и расширение

Конфигурация Dev Inspector осуществляется через quasar.conf.js в разделе devServer и framework:

framework: {
  config: {
    devTools: {
      enabled: true,
      shortcut: 'Ctrl+Shift+I'
    }
  }
}

Дополнительно можно:

  • Изменять сочетания клавиш.
  • Настраивать видимость панели и подсветки.
  • Ограничивать инспектор для определенных компонентов или областей страницы.

Эта гибкость позволяет адаптировать инструмент под потребности конкретного проекта и команды.


Примеры использования

  1. Отладка формы: быстро определить, какие поля управляются через props и какие события $emit вызываются при изменении значений.
  2. Настройка динамических компонентов: увидеть, как меняется содержимое слотов при разных условиях.
  3. Оптимизация интерфейса: выявить компоненты, перегружающие DOM, и проверить их состояние в реальном времени.

Особенности производительности

Dev Inspector минимально нагружает приложение в режиме разработки:

  • Подсветка компонентов происходит на уровне DOM без глубокого обхода дерева.
  • Сбор данных о props и событиях выполняется асинхронно.
  • В продакшн-сборках инструмент полностью отключен, что исключает любые накладные расходы.

Dev Inspector является незаменимым инструментом для глубокого понимания работы компонентов Quasar, ускоряя отладку и тестирование интерфейсов на всех этапах разработки.