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