Maison >interface Web >js tutoriel >Comment puis-je exécuter des binaires de ligne de commande dans Node.js ?

Comment puis-je exécuter des binaires de ligne de commande dans Node.js ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-14 06:05:11754parcourir

How Can I Execute Command Line Binaries in Node.js?

Exécuter un binaire de ligne de commande avec Node.js

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn