如何在 process.env 变量中存储对象

Saa*_*113 5 json object environment-variables node.js dotenv

我在我的 Node.js 中使用 Firebase。应用程序,我想将其 serviceAccountKey.json 文件存储在 process.env 变量中。

我的 dotenv (.env) 文件中有类似的内容

  SERVICE_ACCOUNT_KEY={
  "type": "anything",
  "project_id": "anything",
  "private_key_id": "anything",
  "private_key": "anything",
  "client_email": "anything",
  "client_id": "anything",
  "auth_uri": "anything",
  "token_uri": "anything",
  "auth_provider_x509_cert_url": "anything",
  "client_x509_cert_url": "anything"
}
Run Code Online (Sandbox Code Playgroud)

但当我这样做时,它说

服务帐户必须是一个对象。

请帮助我将此对象存储在 process.env 变量中。

tdo*_*eld 5

您可以尝试将对象存储为字符串并在代码中将其解析为 JSON。

.env

MY_VAR='{"a":"valueA","b":"valueB"}'
Run Code Online (Sandbox Code Playgroud)

然后在代码
app.js中:

let object = JSON.parse(process.env.MY_VAR);
Run Code Online (Sandbox Code Playgroud)

编辑(感谢@Luca Galasso)修改了正确的JSON字符串。