有什么用处是产生一个子节点进程,并将其传送给当前节点进程?

我正在尝试了解如何在docs.nodejitsu.com中使用Node中的stream。

var child = require('child_process'); var myREPL = child.spawn('node'); myREPL.stdout.pipe(process.stdout, { end: false }); process.stdin.resume(); process.stdin.pipe(myREPL.stdin, { end: false }); myREPL.stdin.on('end', function() { process.stdout.write('REPL stream ended.'); }); myREPL.on('exit', function (code) { process.exit(code); }); 

读取代码,我可以看到一个新的节点REPL是在child.spawn('node')创build的,然后它的stdin和stdout都child.spawn('node')运行程序的节点进程的stdin和stdout。

这个代码的一个有用的应用是什么? 我能用它做什么?

一个很好的用例可能是在“沙箱”环境中评估一些代码,以避免代码污染你当前的运行时环境。