实际上我正在通过子进程进行沙箱处理。我正在使用 vm.runincontext 方法来运行脚本。我使用 child.stdin.write 将代码传递给子进程,并使用 stdin.on('data' function()) 在子进程中接收...现在我想要的是脚本可以访问一些 node.js 对象或用户定义的对象通过上下文,该上下文将动态传递给子进程,并且它将在该上下文中运行 sanbox。目前我正在子进程中创建上下文对象,但我不希望将上下文对象传递给子进程。
最佳答案
考虑一下你的问题。您不仅必须序列化当前执行上下文,还必须序列化所有其他上游上下文、整个全局命名空间、文件描述符......
换句话来说,这将是一项疯狂的工作量,而您却做不到。 :-)
您可以做的是序列化数据并通过标准输出/标准输入句柄来回发送该数据。这就是通常解决此问题的方式。
希望有帮助。
关于node.js - 如何将node.js对象传递给子进程然后访问这些对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101841/