生成子节点进程并将其通过管道传输到当前节点进程有什么用?
What use is spawning a child node process and piping it to the current node process?
我正在尝试理解 this 关于在 docs.nodejitsu.com.
中使用 Node 中的流的示例
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);
});
阅读代码我可以看到在 child.spawn('node')
中创建了一个新节点 REPL,然后它的标准输入和标准输出都通过管道传输到节点进程 运行 程序的标准输入和标准输出。
这段代码的有用应用是什么?我能用它做什么?
一个好的用例可能是在 "sandbox" 环境中评估一些代码,这样评估的代码就不会污染您当前的 运行 时间环境。
我正在尝试理解 this 关于在 docs.nodejitsu.com.
中使用 Node 中的流的示例 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);
});
阅读代码我可以看到在 child.spawn('node')
中创建了一个新节点 REPL,然后它的标准输入和标准输出都通过管道传输到节点进程 运行 程序的标准输入和标准输出。
这段代码的有用应用是什么?我能用它做什么?
一个好的用例可能是在 "sandbox" 环境中评估一些代码,这样评估的代码就不会污染您当前的 运行 时间环境。