从 Firebase 函数调用引用本地配置变量的 firebase 函数时出错 Shell

Error invoking firebase function referencing local configuration variables from Firebase Functions Shell

以及与实施建议解决方案相关的单独问题。

我正在尝试从本地服务的环境中使用 Firebase 函数配置 as outlined here,但出现意外错误。

  1. 我在我的函数目录中创建了一个“.runtimeconfig.json”文件,其中包含:

{ "auth":{ "clientid": MY_CLIENT_ID, "signoutreturnto": SOME_URL, "responsetype": SOME_URL, "redirecturi": SOME_OTHER_URL, "scope": SOME_OTHER_STRING, "domain": SOME_DOMAIN } }

  1. 我从 firebase CLI(在函数目录中)执行以下命令:

    • firebase functions:config:get > .runtimeconfig.json
    • firebase experimental:functions:shell
  2. 我通过 cli 执行我的配置函数:

    配置()

  3. 我在控制台中得到以下错误输出:

配置()

TypeError: config is not a function
    at repl:1:1
    at ContextifyScript.Script.runInContext (vm.js:32:29)
    at REPLServer.defaultEval (repl.js:341:29)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)
    at REPLServer.onLine (repl.js:536:10)
    at emitOne (events.js:96:13)
    at REPLServer.emit (events.js:191:7)
    at REPLServer.Interface._onLine (readline.js:241:10)
    at REPLServer.Interface._line (readline.js:590:8)

我的其他功能 bigben 和 firebaseConfig 按预期从 CLI 执行

您确定您使用的是最新版本的 firebase-tools 吗?您可以按 运行 'npm install -g firebase-tools' 更新。您应该使用 v3.17.4,该版本中已解决一个已知错误。

如果您想在 CLI 模拟器提示符下查看您的函数配置,您应该 运行 来自您的函数目录的模拟器命令:

$ cd functions
$ firebase experimental:functions:shell

然后,在 firebase 提示符下,您可以像这样访问您的配置:

firebase> const functions = require('firebase-functions')
firebase> functions.config()

这应该会打印您的配置。通常你不需要做这样的事情 - 你只需使用 functions.config().

从模拟函数内部读取配置