Dans Node.js, l'exécution de binaires de ligne de commande tiers peut être réalisée à l'aide du module child_process. Voici un aperçu de la façon d'aborder cette tâche :
child_process.exec : pour une sortie en mémoire tampon, utilisez child_process.exec. Il vous permet d'exécuter une commande et de récupérer sa sortie complète sous forme de tampon.
child_process.spawn : Si vous avez besoin d'un contrôle plus granulaire sur les E/S du processus, utilisez child_process.spawn. Cette méthode vous permet d'interagir avec stdin, stdout et stderr du processus via des flux, permettant une gestion plus flexible de grandes quantités de données.
child_process.execFile : une option alternative pour l'exécution les fichiers sont spécifiquement child_process.execFile. Il fonctionne de la même manière que spawn, mais fournit un rappel pour récupérer la sortie mise en mémoire tampon.
Nœud 0.11.12 et supérieur : les versions de nœud 0.11.12 et supérieures introduisent des homologues synchrones aux méthodes asynchrones mentionnées ci-dessus. . Ces versions synchrones permettent d'effectuer des tâches de script simples, mais ne renvoient pas d'instance de ChildProcess.
Exemple de code pour la conversion PrinceXML (Ruby vs. Node.js) :
Ruby | Node.js |
---|---|
cmd = system("prince -v builds/pdf/book.html -o builds/pdf/book.pdf") | const { exec } = require('child_process'); exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => {...}) |
Cet exemple illustre comment exécuter le binaire de ligne de commande PrinceXML dans Ruby et Node.js pour convertir un fichier en fichier PDF.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!