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

Can we use a Boolean as env variable in Firebase Functions

我正在尝试制作一个基于 Firebase 函数的应用程序(一个 Puppeteer 应用程序),我在 .json 文件中确实有以下内容。 它在本地运行良好。

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

但是当我远程推送它并尝试使用 firebase functions:config:set app="$(cat .env-production.json)" 设置我的代码时(本质上是为了避免键入长 .json 配置环境变量字符串),我确实收到以下警告: 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 云平台功能的仪表板中没有任何变量(我得到了刷新的代码,Puppeteer 的选项设置, 依此类推..).

不确定是否相关。

环境变量可能仅供 Firebase 使用,不需要发送到 GCP。

编辑:工作得很好,这里不是 Firebase 问题。

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

shell|环境变量没有输入(字符串除外)。

您应该根据(环境值)字符串的值(或 non-value)在您的代码中设置一个布尔值。