我正在尝试在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。
答案 0 :(得分:1)
环境变量只是字符串类型。
shell | environment变量没有类型(字符串除外)。
您应该基于(环境值)字符串的值(或非值)在代码中设置一个布尔值。