如何将pm2 env变量传递到节点repl?

时间:2018-11-30 13:59:26

标签: node.js environment-variables pm2

想象一下,我有一些pm2配置文件,其中包含一些环境变量:

"env"         : {
  "NODE_ENV": "development",
  "MONGO_ENABLED" : true,
  "MONGO_URI": "mongodb://localhost:27017/cindx-dev",
},

如何运行node REPL,以便所有这些环境变量都被启用?

谢谢!

1 个答案:

答案 0 :(得分:0)

我猜他们会使用此代码,如果没有其他代码来加载它的话。 https://github.com/Unitech/pm2/blob/91786108d71b3fc6c182750c09b494619e28b28a/lib/ProcessContainer.js#L16

// Load all env-vars from master.
var pm2_env = JSON.parse(process.env.pm2_env);
for(var k in pm2_env) {
  process.env[k] = pm2_env[k];
}

所以对于您来说,运行类似

var obj={
  "NODE_ENV": "development",
  "MONGO_ENABLED" : true,
  "MONGO_URI": "mongodb://localhost:27017/cindx-dev",
};
Object.keys(obj).forEach(k=>process.env[k]=obj[k])