Szybka pomoc

Ściągawka z podstawowego API Node.js

Szybki przewodnik referencyjny po podstawowych interfejsach API Node.js: obiekty globalne, procesy potomne, formatowanie inspekcji i strumienie.

· Opublikowano

Node.js to środowisko uruchomieniowe JavaScript oparte na silniku V8 przeglądarki Chrome, wykonujące asynchroniczny kod sterowany zdarzeniami.

Zmienne Globalne

Popularne zmienne globalne na poziomie modułu w CommonJS:

__filename; // Bezwzględna ścieżka do pliku bieżącego modułu
__dirname;  // Bezwzględna ścieżka do katalogu bieżącego modułu

Procesy Potomne (Child Processes)

child_process.exec()

Buforuje wyjście procesu i przekazuje stdout/stderr do wywołania zwrotnego (idealne dla małych skryptów):

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()

Przesyła dane strumieniowo bez buforowania (idealne dla długotrwałych procesów i dużych ilości danych):

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

// Bezpośrednie dziedziczenie stdin/stdout/stderr w terminalu
const child = spawn('npm', ['test'], { stdio: 'inherit' });

child.on('error', (err) => {
  if (err.code === 'ENOENT') console.error('Nie znaleziono pliku wykonywalnego');
  if (err.code === 'EACCES') console.error('Brak uprawnień');
});

child.on('exit', (code, signal) => {
  console.log(`Proces zakończony z kodem ${code}`);
});

Formatowanie i Inspekcja (util.inspect)

const util = require('util');

// Głęboka inspekcja złożonych obiektów z podświetlaniem składni
const output = util.inspect(complexObject, {
  showHidden: false,
  depth: null,
  colors: true
});

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

Materiały Źródłowe

Powiązane tematy