我在node js中使用了firebase。应用程序,我想存储它的serviceAccountKey。json文件在进程中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"
}
但当我这么做的时候,它说
服务帐户必须是对象。
请帮助我存储正在进行的对象。env变量。
3条答案
按热度按时间u5rb5r591#
您可以尝试将对象存储为字符串,并在代码中将其解析为JSON。
然后在代码中
编辑(谢谢@Luca Galasso)修改了正确的JSON字符串。
qojgxg4l2#
当在
process.env
中存储变量时,它将自动转换为字符串。考虑到这一点,如果你想在
process.env
中设置一个变量,你可以在运行脚本时传递一个合适的字符串对象:或者在脚本中将对象转换为字符串。js文件类似:
在这两种情况下,当从进程中阅读变量时。env,你应该把它转换成一个对象:
因为你写的错误写着“。必须是一个对象。”,最有可能缺少的部分是最后一步(从字符串解析为对象)。
vjhs03f73#
在.env文件中:
在app.js文件中:
而不是
删除require和()。
样本: