JavaRush /Курсы /Модуль 2: Fullstack /Отладка TypeScript кода

Отладка TypeScript кода

Модуль 2: Fullstack
9 уровень , 5 лекция
Открыта

6.1 Еще раз про отладку

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

Зачем нужна отладка?

Отладка позволяет:

  1. Выявлять и устранять ошибки: обнаруживать логические, синтаксические и другие ошибки в коде.
  2. Понимать поведение кода: анализировать, как код выполняется и взаимодействует с различными компонентами.
  3. Оптимизировать производительность: идентифицировать узкие места и оптимизировать их для повышения производительности приложения.
  4. Улучшать качество кода: обеспечивать корректную работу приложения и предотвращать потенциальные проблемы.

Основные инструменты для отладки TypeScript кода

  1. Консольный лог (console.log)
  2. Использование отладчика (debugger)
  3. Инструменты разработчика браузера
  4. Отладка в Visual Studio Code
  5. Интеграция с Node.js

6.2 Подробнее про каждый вид отладки

1. Консольный лог (console.log)

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

Пример использования console.log:

TypeScript
    
      function add(a: number, b: number): number {
        console.log(`Adding ${a} and ${b}`);
        return a + b;
      }

      const result = add(2, 3);
      console.log(`Result: ${result}`);
    
  

При выполнении этого кода в консоли будут отображены сообщения:

Terminal
    
      Adding 2 and 3
    
  
    
      Result: 5
    
  

2. Использование отладчика (debugger)

debugger — это встроенное ключевое слово JavaScript, которое позволяет приостановить выполнение кода и открыть инструменты разработчика для детального анализа.

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

TypeScript
    
      function add(a: number, b: number): number {
        debugger;
        return a + b;
      }

      const result = add(2, 3);
      console.log(`Result: ${result}`);
    
  

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

3. DevTools браузера

Современные браузеры, такие как Google Chrome, Firefox и Microsoft Edge, предоставляют мощные инструменты для отладки веб-приложений. Эти инструменты включают консоль, отладчик, инспектор элементов и многое другое.

Основные функции инструментов разработчика браузера:

  • Консоль: позволяет выполнять JavaScript команды и просматривать вывод console.log.
  • Отладчик: позволяет устанавливать точки остановки (breakpoints), шагать по коду (step through), просматривать значения переменных и состояние стека вызовов (call stack).
  • Инспектор элементов: позволяет просматривать и изменять DOM и CSS стили в реальном времени.

Пример использования инструментов разработчика в Google Chrome:

  1. Откройте веб-страницу в Google Chrome.
  2. Нажмите F12 или Ctrl+Shift+I (Windows/Linux) или Cmd+Opt+I (Mac) для открытия инструментов разработчика.
  3. Перейдите на вкладку "Sources" для отладки кода.
  4. Установите точку остановки, кликнув на номер строки в файле.
  5. Обновите страницу, чтобы выполнение остановилось на точке остановки, и начните анализировать код.

4. Отладка в Visual Studio Code

Visual Studio Code (VSCode) — это популярный редактор кода с мощными возможностями для отладки TypeScript. VSCode позволяет устанавливать точки остановки, шагать по коду, просматривать значения переменных и многое другое.

Настройка отладки в VSCode:

1. Установка плагинов: установите необходимые плагины, такие как Debugger for Chrome или Node.js Extension Pack.

2. Создание конфигурации отладки: создайте файл конфигурации отладки launch.json в папке .vscode.

Пример launch.json для отладки Node.js приложения:

JSON
    
      {
        "version": "0.2.0",
        "configurations": [
          {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": ["<node_internals>/**"],
            "program": "${workspaceFolder}/src/index.ts",
            "preLaunchTask": "tsc: build - tsconfig.json",
            "outFiles": ["${workspaceFolder}/dist/**/*.js"]
          }
        ]
      }
    
  

3. Установка точек остановки и запуск отладки: установите точки остановки в коде и запустите отладку, нажав F5.

5. Интеграция с Node.js

TypeScript отлично интегрируется с Node.js, что позволяет использовать мощные возможности Node.js для отладки серверного кода.

Пример отладки Node.js приложения:

1. Запуск Node.js с флагом --inspect: запустите приложение с флагом --inspect для активации режима отладки.

Terminal
    
      node --inspect dist/index.js
    
  

2. Подключение к процессу отладки: откройте инструменты разработчика в браузере и перейдите на вкладку "Sources". Нажмите на иконку Node.js в верхнем левом углу для подключения к процессу отладки.

3. Установка точек останова и анализ кода: установите точки остановки и начните анализировать выполнение кода.

6.3 Продвинутые техники отладки

1. Логирование ошибок

Использование логирования ошибок позволяет сохранять информацию о возникших проблемах для дальнейшего анализа. Логирование можно выполнять с помощью встроенных средств или специализированных библиотек, таких как winston или log4js.

Пример логирования с использованием библиотеки winston:

TypeScript
    
      import winston from 'winston';

      const logger = winston.createLogger({
        level: 'info',
        format: winston.format.json(),
        transports: [
          new winston.transports.File({ filename: 'error.log', level: 'error' }),
          new winston.transports.Console({ format: winston.format.simple() }),
        ],
      });

      logger.error('This is an error message');
      logger.info('This is an info message');
    
  

2. Профилирование кода

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

Использование профилирования в Chrome DevTools:

  1. Откройте инструменты разработчика в Google Chrome.
  2. Перейдите на вкладку "Performance".
  3. Нажмите кнопку "Record" и выполните действия, которые хотите проанализировать.
  4. Нажмите "Stop" для завершения записи и анализа профиля.

6.4 Использование статического анализа кода

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

Пример использования ESLint с TypeScript:

1. Установите ESLint и необходимые плагины:

Terminal
    
      npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
    
  

2. Создайте файл конфигурации .eslintrc.json:

JSON
    
      {
        "parser": "@typescript-eslint/parser",
        "extends": [
          "eslint:recommended",
          "plugin:@typescript-eslint/recommended"
        ],
        "rules": {
          // Ваши правила ESLint
        }
      }
    
  

3. Запустите ESLint для анализа кода:

Terminal
    
      npx eslint src/**/*.ts
    
  
3
Задача
Модуль 2: Fullstack, 9 уровень, 5 лекция
Недоступна
Отладка с console.log
Отладка с console.log
3
Задача
Модуль 2: Fullstack, 9 уровень, 5 лекция
Недоступна
Использование debugger
Использование debugger
3
Задача
Модуль 2: Fullstack, 9 уровень, 5 лекция
Недоступна
Профилирование в DevTools
Профилирование в DevTools
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ