Краткий справочник

Шпаргалка по основному API Node.js

Краткое руководство по базовым API среды Node.js: глобальные объекты, запуск дочерних процессов, форматирование util.inspect и потоки.

· Опубликовано

Node.js — это среда выполнения JavaScript на базе движка V8 от Chrome, предназначенная для асинхронного событийно-ориентированного кода.

Глобальные переменные

Основные глобальные переменные на уровне модуля в CommonJS:

__filename; // Абсолютный путь к файлу текущего модуля
__dirname;  // Абсолютный путь к каталогу текущего модуля

Дочерние процессы (Child Processes)

child_process.exec()

Буферизует вывод процесса и передает stdout/stderr в функцию обратного вызова (подходит для небольших утилит):

const { exec } = require('child_process');

exec('ls -la | grep .js', (error, stdout, stderr) => {
  if (error) {
    console.error(`Execution error: ${error.message}`);
    return;
  }
  console.log(`Output: ${stdout}`);
});

child_process.spawn()

Передает данные процесса потоком без буферизации (подходит для длительных задач и больших объемов данных):

const { spawn } = require('child_process');

// Прямое наследование stdin/stdout/stderr в терминале
const child = spawn('npm', ['test'], { stdio: 'inherit' });

child.on('error', (err) => {
  if (err.code === 'ENOENT') console.error('Исполняемый файл не найден');
  if (err.code === 'EACCES') console.error('В доступе отказано');
});

child.on('exit', (code, signal) => {
  console.log(`Процесс завершился с кодом ${code}`);
});

Форматирование и инспекция (util.inspect)

const util = require('util');

// Глубокий анализ сложных объектов с подсветкой синтаксиса
const output = util.inspect(complexObject, {
  showHidden: false,
  depth: null,
  colors: true
});

process.stdout.write(output + '\n');

Ссылки и материалы

Связанные темы