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

时间:2018-03-06 20:57:59

标签: firebase google-cloud-functions firebase-cli

This is a continuation of troubleshooting this problem以及与实施建议解决方案相关的单独问题。

我正在尝试从本地服务的环境as outlined here中使用Firebase功能配置,但是我收到了意外错误。

  1. 我创建了一个" .runtimeconfig.json"我的函数目录中的文件包含:
  2. {   " auth":{         " clientid":MY_CLIENT_ID,         " signoutreturnto":SOME_URL,         " responsetype":SOME_URL,         " redirecturi":SOME_OTHER_URL,         "范围":SOME_OTHER_STRING,         "域名":SOME_DOMAIN     } }

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

      • firebase功能:config:get> .runtimeconfig.json
      • firebase实验:功能:shell
    2. 我通过cli执行我的配置功能:

      配置()

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

    4. 配置()

      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的预期执行

2 个答案:

答案 0 :(得分:1)

如果要在CLI模拟器提示符下查看功能配置,则应从函数目录运行模拟器命令:

    <div class="cc-selector">
        <input checked="checked" id="visa" type="radio" name="credit-card" value="visa" />
        <label class="drinkcard-cc visa" for="visa"></label>
        <input id="mastercard" type="radio" name="credit-card" value="mastercard" />
        <label class="drinkcard-cc mastercard"for="mastercard"></label>
    </div>

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

$ cd functions
$ firebase experimental:functions:shell

那应该打印你的配置。通常你不需要做这样的事情 - 你只需要使用firebase> const functions = require('firebase-functions') firebase> functions.config() 从模拟函数内部读取配置。

答案 1 :(得分:0)

您确定使用的是最新版本的firebase-tools吗?您可以通过运行'npm install -g firebase-tools'进行更新。你应该在v3.17.4上,在那个版本中已经解决了一个已知的bug。