Skip to content

Latest commit

 

History

History
279 lines (214 loc) · 10.9 KB

index.md

File metadata and controls

279 lines (214 loc) · 10.9 KB

UduJS

Build Status Coverage Status dependencies Status devDependencies Status

The English version is here.

Простая универсальная отладочная утилита для JavaScript-кода. Предназначена для Node.js и браузеров.

Сделайте отладку более понятной и простой.

Поддержка

Потестировано в:

  • Node.js 6-8.
  • Google Chrome 62-63.
  • Firefox Developer Edition 57-58.

У вас есть предложения, пожелания или замечания? Добро пожаловать в issue tracker!

Установка

$ npm i udujs

или

$ yarn add udujs

Применение

Включение в проект

Код на сервере:

  • стандартный метод (автоматическое определение рабочего окружения);
const UduJS = require('udujs');
const Debug = new UduJS();
  • прямое подключение серверных методов (рекомендуется).
const UduJS = require('udujs/Server');
const Debug = new UduJS();

Примечание: оба этих способа включения практически идентичны. Вы можете применить любой из них.

Код на клиенте:

  • стандартный способ (не рекомендуется);
const UduJS = require('udujs');
const Debug = new UduJS();
  • прямое подключение клиентских методов;
const UduJS = require('udujs/Client');
const Debug = new UduJS();
  • подключение скомпилированной библиотеки непосредственно к файлу HTML (папка compiled).
<script src="js/mod/udujs-1.0.0.min.js"></script> <!-- Для примера -->
<script>
  var Debug = new UduJS();
</script>

Примечание: стандартный способ включения может привести к распуханию файлов при компиляции бандла.

Пользовательская настройка

При создании экземпляра утилиты вы можете указать объект с пользовательскими настройками. Это поможет вам немного отрегулировать процесс отладки. Например:

const UduJS = require('udujs/Client');
const Debug = new UduJS({
  maxWidth: 'auto',
  fontSize: '1.2em',
  decimalPlaces: 4,
  popupColorScheme: 'dark',
});

Основные методы

.log(value, [comment]) API

Выводит отладочную информацию в консоль. Этот метод ничего не возвращает.

const someVariable = +100500;
Debug.log(someVariable);

Результат (пример кода с основными методами):

.rttPoint([name]) ⇒ число API

Проверка времени выполнения (RTT). Устанавливает контрольную точку в коде. Вычисляет время выполнения кода между двумя контрольными точками (в миллисекундах).

  • Отображает вычисленное значение в консоли.
  • Возвращает вычисленное значение.
Debug.rttPoint();
someCode();
Debug.rttPoint('Some code was executed.');
someCode();
// Или, результат работы метода можно присвоить переменной.
let lastPointResult = Debug.rttPoint('More code.');

Результат (пример кода с основными методами):

.rttStart([name], [levelIndex]) API

Проверка времени выполнения (RTT). Начальная точка для вычисления времени выполнения некоторого кода. Этот метод ничего не возвращает.

.rttFinish([levelIndex]) ⇒ число API

Проверка времени выполнения (RTT). Конечная точка для метода rttStart(). Вычисляет время выполнения кода между начальной и текущей точками (в миллисекундах).

  • Отображает вычисленное значение в консоли.
  • Возвращает вычисленное значение.
Debug.rttStart('Single testing of some code.');
someCode();
Debug.rttFinish();
// Или, результат работы метода можно присвоить переменной.
let rttResult = Debug.rttFinish();

Результат (пример кода с основными методами):

.rttAverage(codeContainer, cycles, [name], [timeEachIteration]) ⇒ число API

Проверка времени выполнения (RTT). Вычисляет среднее время выполнения некоторого кода (в миллисекундах).

  • Отображает вычисленное значение в консоли.
  • Возвращает вычисленное значение.
Debug.rttAverage(someCode, 3, 'The average execution time of some code.', true);
// Или, результат работы метода можно присвоить переменной.
let averageResult = Debug.rttAverage(someCode, 3, 'The average execution time of some code.', true);

Результат (пример кода с основными методами):

.stopExec() API

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

.resumeExec() API

Возобновление выполнения утилиты. Этот метод ничего не возвращает.

Debug.stopExec();
// Код приложения между этими методами будет выполнен.
someCode(); // Этот код будет выполнен.
// Утилитные методы, напротив, будут проигнорированы.
Debug.log('This method will be ignored.');
Debug.resumeExec();

Клиентские методы

.popup() API

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

const someVariable = +100500;
Debug.popup(someVariable);

Результат (пример кода с клиентскими методами):

.popupReset() API

Очищает список во всплывающем сообщении. Этот метод ничего не возвращает.

Debug.popupReset();

Результат (пример кода с клиентскими методами):

.show() API

Универсальный метод для отображения отладочной информации. Выводит либо в консоль, либо во всплывающее сообщение. Направление вывода управляется через конфигурацию (параметр showOutputDirection). По умолчанию информация отображается во всплывающем сообщении. Этот метод ничего не возвращает.

const someVariable = +100500;
Debug.show(`Using the "show()" method: ${someVariable}`);

Результат (пример кода с клиентскими методами):

.observer() API

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

const someStatus = true;
Debug.observer(`Some status: ${someStatus}`);

Результат (пример кода с клиентскими методами):