我正在存储一个对象(有几种方法)process.env
,如下所示:
var obj = createObject(); // returns new object process.env.OBJ = obj;
当我从其他地方访问此对象时,我没有看到任何方法.
var obj = process.env.OBJ;
显示[Object Object]
.
这是为什么?
简短的回答是:没有
不,您不能存储对象,process.env
因为它存储环境变量PATH, SHELL, TMPDIR
和其他由String值表示的变量.如果运行命令,console.log(process.env);
您可以查看系统的所有env变量,特别是您可以设置自己的env变量(例如process.env.home = 'home'
),这些变量将在您运行nodejs应用程序的过程中可用.
解决方案存在
Stringify JSON对象并保存为env变量.然后在需要对象时解析并使用它
process.env是存储您的环境变量而不是真正存储您的对象.你可以存储你的变量:
process.env['CONSUMER_KEY'] = "" process.env['CONSUMER_SECRET'] = "" process.env['ACCESS_TOKEN_KEY'] = "" process.env['ACCESS_TOKEN_SECRET'] = ""
这是它的链接https://nodejs.org/api/process.html#process_process_env
如果要存储方法,则应创建一个全局对象并将方法分配给该方法.