我正在将一个CLI库从Ruby移植到Node.js.在我的代码中,我在必要时执行几个第三方二进制文件.我不确定在Node中如何最好地完成此任务.
这是Ruby中的一个示例,我将PrinceXML称为将文件转换为PDF:
cmd = system("prince -v builds/pdf/book.html -o builds/pdf/book.pdf")
Run Code Online (Sandbox Code Playgroud)
Node中的等效代码是什么?
我想使用execSync在NodeJS 0.12中添加的方法,但仍然在控制台窗口中输出我运行Node脚本的输出.
例如,如果我运行具有以下行的NodeJS脚本,我希望在控制台内看到rsync命令的完整输出"live":
require('child_process').execSync('rsync -avAXz --info=progress2 "/src" "/dest"');
Run Code Online (Sandbox Code Playgroud)
我明白execSync返回命令的输出,我可以在执行后将其打印到控制台,但这样我没有"实时"输出...
我可以从Node.js中运行的javascript文件安装NPM包吗?例如,我想要一个脚本,让我们称它为"script.js",不知何故(......使用NPM或不...)安装一个通常可以通过NPM获得的包.在这个例子中,我想安装"FFI".(npm install ffi)