首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firebase函数v1配置不检索配置

Firebase函数v1配置不检索配置
EN

Stack Overflow用户
提问于 2018-04-17 16:11:29
回答 2查看 1.2K关注 0票数 3

我正在努力将我的firebase函数版本从测试版迁移到最近发布的v1,这是他们网站上列出的说明:https://firebase.google.com/docs/functions/beta-v1-diff

我失败的具体部分被描述为:

functions.config().firebase已被删除。如果希望访问Firebase项目中的配置值,请使用process.env.FIREBASE_CONFIG:

代码语言:javascript
运行
复制
let firebaseConfig = JSON.parse(process.env.FIREBASE_CONFIG);
/* {  databaseURL: 'https://databaseName.firebaseio.com',
       storageBucket: 'projectId.appspot.com',
       projectId: 'projectId' }
*/

因此,我已经更新了我的版本和代码,现在收到了以下内容:

代码语言:javascript
运行
复制
TypeError: Cannot read property 'key' of undefined
at Object.<anonymous> (functions\index.js:25:72)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at \npm\node_modules\firebase-tools\lib\triggerParser.js:21:11
at Object.<anonymous> (\npm\node_modules\firebase-tools\lib\triggerParser.js:61:3)

它所指的属性"key“是我的config对象上的一个属性,我试图通过以下操作访问该属性:

代码语言:javascript
运行
复制
let firebaseConfig = JSON.parse(process.env.FIREBASE_CONFIG);

// let firebaseConfig = functions.config().firebase;
const SENDGRID_API_KEY = encodeURIComponent(firebaseConfig.sendgrid.key);

当我跑的时候

代码语言:javascript
运行
复制
firebase functions:config:get

它将我的配置显示为现有的:

代码语言:javascript
运行
复制
{
  "gmail": {
    "password": "pwdValue",
    "email": "emailvalue"
  },
  "sendgrid": {
    "key": "keyvalue"
  }
}

我还双重检查了.runtimeconfig.json文件,它与该命令返回的内容完全相同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-17 16:27:43

听起来你误解了v1中发生的变化。改变是不再使用firebase.config().firebase,而有利于Firebase通过process.env.FIREBASE_CONFIG自动获取项目默认凭据。

这并不意味着firebase.config()已经消失了。您仍然将其用于使用firebase functions:config:get设置的自己的配置值,就像在v1之前一样。

票数 5
EN

Stack Overflow用户

发布于 2018-04-17 16:24:10

您可以在这里了解如何使用环境变量:https://firebase.google.com/docs/functions/config-env

在调用自定义配置变量时,需要省略firebase属性,如下所示:

functions.config().sendgrid.key

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49882868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档