在Cloud Functions Firebase CLI本地模拟器中访问配置变量失败

Lee*_*eem 6 firebase google-cloud-functions firebase-cli

我正在使用Firebase功能.我通过命令设置了一个环境变量:

firebase functions:config:set my.token="abcde"
Run Code Online (Sandbox Code Playgroud)

我通过命令验证了它:

firebase functions:config:get
Run Code Online (Sandbox Code Playgroud)

谁回报我:

{
  "my": {
    "token": "abcde"
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的index.js中,我尝试通过以下方式获取set token:

const tok = functions.config().my.token
Run Code Online (Sandbox Code Playgroud)

我想测试本文档本地指示的函数,所以我运行命令:

firebase serve --only functions
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:

Error from emulator. FirebaseError: Error occurred while parsing your function triggers.
TypeError: Cannot read property 'token' of undefined
Run Code Online (Sandbox Code Playgroud)

为什么我无法访问我在Firebase的环境变量中设置的令牌?

Dou*_*son 11

这是Firebase CLI中的一个错误,已在3.17.4版中修复.请更新您的firebase-tools模块:

npm install -g firebase-tools
Run Code Online (Sandbox Code Playgroud)

此外,在运行模拟器之前,请不要忘记按照文档中的说明将配置文件复制到本地文件:

cd functions
firebase functions:config:get > .runtimeconfig.json
Run Code Online (Sandbox Code Playgroud)