Как отобразить процесс работы в терминале?

Для отображения процесса работы программы в терминале мы можем использовать различные методы в Node.js. Один из наиболее популярных способов - использование модуля "cli-progress".

Модуль "cli-progress" позволяет создавать прогресс-бары, показывая текущий прогресс выполнения операции. Он предоставляет гибкие настройки и возможность настраивать вывод в терминале.

Первым шагом мы должны установить модуль "cli-progress" с помощью команды npm:

npm install cli-progress

После установки модуля, мы можем импортировать его в нашем коде следующим образом:

const cliProgress = require('cli-progress');

Затем мы можем создать экземпляр прогресс-бара и настроить его:

const progressBar = new cliProgress.SingleBar(
  {
    format: 'Progress [{bar}] {percentage}% | ETA: {eta}s | {value}/{total} {unit}',
    barCompleteChar: 'u2588',
    barIncompleteChar: 'u2591',
    hideCursor: true
  },
  cliProgress.Presets.shades_classic
);

Здесь мы определяем формат вывода прогресс-бара, символы для полного и неполного заполнения, а также параметры скрытия курсора.

Далее, мы можем использовать прогресс-бар внутри нашего кода. Например, если у нас есть цикл, мы можем обновлять прогресс-бар на каждой итерации:

const totalIterations = 100;
progressBar.start(totalIterations, 0);

for (let i = 0; i < totalIterations; i++) {
  // Выполнение операций
  // ...

  // Обновление прогресс-бара
  progressBar.update(i + 1);
}

progressBar.stop();

Здесь мы указываем общее количество итераций и начальное значение прогресс-бара. Затем, на каждой итерации, мы обновляем прогресс-бар методом update. По завершению работы программы, мы вызываем метод stop для корректного завершения прогресс-бара.

Кроме модуля "cli-progress", существуют и другие способы отображения процесса работы в терминале в Node.js. Например, вы можете использовать модуль "ora", который предоставляет возможность создавать анимированные индикаторы загрузки.