Простая универсальная отладочная утилита для 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}`);
Результат (пример кода с клиентскими методами):