在 Node.js 中,可以使用 child_process 模块来执行第三方命令行二进制文件。下面介绍了如何完成此任务:
child_process.exec:对于缓冲输出,请使用 child_process.exec。它允许您执行命令并以缓冲区的形式检索其完整输出。
child_process.spawn:如果您需要对进程 I/O 进行更精细的控制,请使用 child_process.spawn。此方法使您能够通过流与进程的 stdin、stdout 和 stderr 进行交互,从而可以更灵活地处理大量数据。
child_process.execFile:执行的替代选项具体文件是child_process.execFile。它的操作与 Spawn 类似,但提供了用于检索缓冲输出的回调。
Node 0.11.12 及更高版本:Node 版本 0.11.12 及更高版本引入了上述异步方法的同步对应方法。这些同步版本允许执行简单的脚本任务,但不会返回 ChildProcess 的实例。
PrinceXML 转换的示例代码(Ruby 与 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) => {...}) |
此示例说明如何在 Ruby 和 Node.js 中执行 PrinceXML 命令行二进制文件以将文件转换为 PDF。
以上是如何在 Node.js 中执行命令行二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!