Node.js 我可以在process.env中存储对象吗

Node.js 我可以在process.env中存储对象吗,node.js,Node.js,我正在将一个对象(有几个方法)存储到process.env中,如下所示: var obj = createObject(); // returns new object process.env.OBJ = obj; 当我从下面这样的其他地方访问这个对象时,我看不到任何方法 var obj = process.env.OBJ; 显示[对象对象] 为什么呢?process.env是用来存储环境变量的,而不是用来存储对象的。您可以这样存储变量: process.env['CONSUMER_KEY'

我正在将一个对象(有几个方法)存储到
process.env
中,如下所示:

var obj = createObject(); // returns new object
process.env.OBJ = obj;
当我从下面这样的其他地方访问这个对象时,我看不到任何方法

var obj = process.env.OBJ;
显示
[对象对象]


为什么呢?

process.env是用来存储环境变量的,而不是用来存储对象的。您可以这样存储变量:

process.env['CONSUMER_KEY'] = ""
process.env['CONSUMER_SECRET'] = ""
process.env['ACCESS_TOKEN_KEY'] = ""
process.env['ACCESS_TOKEN_SECRET'] = ""
这里有一个链接


如果要存储方法,应创建一个全局对象并将方法分配给该对象。

简短的回答是:

不可以,您不能在
process.env
中存储对象,因为它存储环境变量,如
PATH、SHELL、TMPDIR
等,这些变量由字符串值表示。如果运行命令
console.log(process.env)
您可以查看系统的所有环境变量,特别是您可以设置自己的环境变量(例如,
process.env.home='home'
),这些变量将在运行nodejs应用程序的过程中可用

解决方案存在

字符串化JSON对象并另存为env变量。然后在需要对象时解析并使用它

虽然不能直接将对象存储在
process.env
中,但仍然可以将对象存储在
process
本身。

您试图解决的问题是什么?一定有比将对象放入
process.env
更好的解决方案。