我有这个简单的脚本:
var exec = require('child_process').exec;
exec('coffee -cw my_file.coffee', function(error, stdout, stderr) {
console.log(stdout);
});
在这里,我只需执行一个命令即可编译咖啡脚本文件。但是stdout永远不会在控制台中显示,因为命令永远不会结束(因为coffee的-w选项)。如果我直接从控制台执行命令,则会收到如下消息:
18:05:59 - compiled my_file.coffee
我的问题是:是否可以使用node.js exec显示这些消息?如果是,怎么办?!
谢谢
我只想添加一个小问题,即从生成的进程中输出缓冲字符串
console.log()
,它会添加换行符,从而可以将生成的进程输出扩展到其他行中。如果输出stdout
或stderr
使用或process.stdout.write()
而不是console.log()
,那么您将按“原样”从生成的进程中获取控制台输出。我在这里看到了该解决方案: Node.js:无需尾随换行符即可打印到控制台吗?
希望能对使用上述解决方案的人有所帮助(即使来自文档,这也是实时输出的绝佳解决方案)。