gpt4 book ai didi

node.js - 防止通过 child_process.spawn 转发环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:12 25 4
gpt4 key购买 nike

当我从 parent.js 文件中运行

child_process.spawn('node', ['child.js']);

我发现在 parent.js 中设置的所有环境变量也在 child.js 中设置。现在,虽然我知道我可以使用 env 属性添加环境变量:

child_process.spawn('node', ['child.js'], {env: {newenv: 'newvalue'}});

如何删除一个?例如,假设在 parent.js 中设置了某个 process.env['parentonly'] 环境变量,并且我不希望它通过 spawn 转发到 child.js。我怎样才能做到这一点?

我试过了

child_process.spawn('node', ['child.js'], {env: {parentonly: /* anything like 0, false, null, undefined here.*/}});

但这行不通。如果在 parent.js 中我明确这样做

delete process.env['parentonly'];

然后在 child.js 中没有设置 parentonly,但这有点侵入性。有什么解决办法吗?

最佳答案

这是我的方法。创建一个对象,将父环境克隆到它。 (定义您自己的克隆方法,过滤掉您不想从父环境复制的任何属性)然后将新对象作为子环境传递给子进程。

关于node.js - 防止通过 child_process.spawn 转发环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36088426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com