Node.js est un environnement d'execution JavaScript base sur le moteur V8 de Chrome pour executer du code asynchrone oriente evenements.
Variables Globales
Variables globales courantes au niveau du module dans CommonJS :
__filename; // Chemin absolu du fichier du module actuel
__dirname; // Chemin absolu du repertoire du module actuel
Processus Enfants (Child Processes)
child_process.exec()
Met en tampon la sortie du processus et transmet stdout/stderr a un callback (ideal pour les petits scripts) :
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()
Diffuse les donnees du processus sans mise en tampon (ideal pour les processus longs et les volumes importants) :
const { spawn } = require('child_process');
// Heriter directement de stdin/stdout/stderr dans le terminal
const child = spawn('npm', ['test'], { stdio: 'inherit' });
child.on('error', (err) => {
if (err.code === 'ENOENT') console.error('Executable introuvable');
if (err.code === 'EACCES') console.error('Permission refusee');
});
child.on('exit', (code, signal) => {
console.log(`Processus termine avec le code ${code}`);
});
Formatage et Inspection (util.inspect)
const util = require('util');
// Inspecter des objets complexes en profondeur avec coloration syntaxique
const output = util.inspect(complexObject, {
showHidden: false,
depth: null,
colors: true
});
process.stdout.write(output + '\n');