Node.js este un mediu de executie JavaScript construit pe motorul V8 din Chrome care ruleaza cod asincron bazat pe evenimente pe servere.
Variabile Globale
Variabile globale uzuale la nivel de modul in CommonJS:
__filename; // Calea absoluta a fisierului modulului curent
__dirname; // Calea absoluta a directorului modulului curent
Procese Copil (Child Processes)
child_process.exec()
Puncteaza datele de iesire in buffer si transmite stdout/stderr catre un callback (ideal pentru scripturi mici):
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()
Transmite datele procesului prin flux direct (ideal pentru procese de lunga durata si iesiri mari):
const { spawn } = require('child_process');
// Mosteneste stdin/stdout/stderr direct in terminal
const child = spawn('npm', ['test'], { stdio: 'inherit' });
child.on('error', (err) => {
if (err.code === 'ENOENT') console.error('Executabilul nu a fost gasit');
if (err.code === 'EACCES') console.error('Acces interzis');
});
child.on('exit', (code, signal) => {
console.log(`Procesul s-a incheiat cu codul ${code}`);
});
Formatare și Inspecție (util.inspect)
const util = require('util');
// Inspecteaza obiecte complexe in profunzime cu evidentiere de sintaxa
const output = util.inspect(complexObject, {
showHidden: false,
depth: null,
colors: true
});
process.stdout.write(output + '\n');