Отладка Angular-приложений в браузере требует понимания специальных инструментов и подходов. Вот основные методы, которые я использую как профессиональный Angular-разработчик:
Лучший инструмент специально для Angular, устанавливается как расширение Chrome/Firefox.
Что позволяет:
// Пример использования:
// 1. Установите Augury из Chrome Web Store
// 2. Откройте DevTools (F12) → вкладка Augury
// 3. Навигация по компонентам и их зависимостям
Для отладки TypeScript-кода (не транcпилированного JS):
// angular.json
"build": {
"options": {
"sourceMap": true,
"vendorSourceMap": true
}
}
После этого в Sources Chrome DevTools вы увидите оригинальные TS-файлы.
Специальные методы для отладки:
// Вывести компонент в консоль
ng.probe($0).componentInstance
// Получить инжектор
ng.probe($0).injector
// Вывести сервис из инжектора
ng.probe($0).injector.get(MyService)
Полезные места для брейкпоинтов:
// Пример debugger в коде:
processData(data) {
debugger; // Остановит выполнение
return data.map(item => ({...item, processed: true}));
}
Для отслеживания изменений в шаблоне:
// В компоненте:
ngAfterViewChecked() {
console.log('CD:', this.changeDetector['_view'].nodes);
}
Используйте оператор tap
:
this.dataService.getData().pipe(
tap(data => console.log('Data received:', data)),
catchError(err => {
console.error('Error:', err);
return throwError(err);
})
);
Для сложных случаев:
ng.getDirectives($0)
- получить директивы элементаng.applyChanges(component)
- форсировать Change Detectionwindow.ng
- доступ к Angular runtime APICtrl+Shift+F
- поиск по всем файлам в DevToolsCtrl+P
→ :line
- переход к строкеCtrl+Shift+P
→ Coverage
- анализ покрытия кодаэффективная отладка Angular-приложений требует комбинации специальных инструментов (Augury), правильной настройки source maps, использования Angular-specific console методов и классических подходов к отладке JavaScript. Всегда начинайте с Augury для анализа структуры приложения, затем переходите к точечной отладке в DevTools.