我们可以在Firebase Functions中使用布尔作为环境变量吗

时间:2019-07-14 22:07:56

标签: firebase google-cloud-functions puppeteer

我正在尝试在Firebase函数上创建一个应用程序(一个Puppeteer应用程序),并且在.json文件中确实包含以下内容。 在本地效果很好。

"custom": {
  "following_training": false,
  "worked": false
}

但是当我确实将其推送到远程并尝试使用firebase functions:config:set app="$(cat .env-production.json)"设置我的代码时(本质上避免输入长的.json config env变量字符串),我确实有以下警告: HTTP Error: 400, Invalid value at 'variable.text' (TYPE_STRING), false

是的,基本上是告诉我只发送那种 json:

"custom": {
  "following_training": "false",
  "worked": "false"
}

然后,如果我确实添加了to-bool package来实际检查代码内部是否为toBool(local_vars.app.custom.worked) == false ...

,它将在远程工作

难道没有更清洁的方法吗?? 在firebase config-env documentation中,实际上没有关于布尔字段的示例。

我在输入firebase functions:config:get时确实得到了预期的东西,但是奇怪的是,我在Google Cloud Platform函数的仪表板中没有任何变量(我得到了刷新的代码,Puppeteer的选项设置,等等。 )。

不确定是否有关联。

Firebase可能只使用env var,而不必将其发送到GCP。

1 个答案:

答案 0 :(得分:1)

环境变量只是字符串类型。

shell | environment变量没有类型(字符串除外)。

您应该基于(环境值)字符串的值(或非值)在代码中设置一个布尔值。