问题标签 [firebase-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
845 浏览

firebase - 在本地提供 firebase 功能时防止 firestore 触发器

我是 Firebase 的新手,我设置了一个项目并使用 nodejs + nestjs

  • 我有一个 https 触发器函数,可以将记录添加到 Firestore
  • 我有一个 Firestore 文档onCreate触发器,用于将数据复制到另一个集合

然后我尝试通过运行npm run serve调用来在本地运行 Firebasefirebase serve --only functions

然后我可以通过邮递员应用程序访问 https 功能。

onCreate第一个问题是当我调用本地 https 函数时,Firestore触发器未在本地触发。

第二个问题是 FirestoreonCreate触发器在服务器上运行,我可以看到运行日志,这意味着在开发时,服务器上可能正在运行一些错误的错误代码,并且该代码可能会损坏数据(而好的代码正在开发中并且错误正在修复我的本地人)

所以我的问题是,人们通常如何在本地和测试上进行开发?

0 投票
1 回答
1947 浏览

firebase - 如何解决 TypeError: functions.https.onCall is not a function?

我有一个今年早些时候创建的 Firebase 项目。它使用 Cloud Functions 在实时数据库上运行一些操作。

昨天,我了解了Callable Cloud Functions,所以我决定在我的应用程序中尝试一下,看看我是否应该更新我现有的 Functions 。我创建了一个简单的云函数用于测试目的:

但是当我尝试部署这个功能时,我得到了错误:

错误:解析函数触发器时出错。

TypeError:functions.https.onCall 不是 Object 的函数。(/tmp/fbfn_7614ijhDwX0NY98S/index.js:114:36) 在 Module._compile (module.js:649:30) 在 Object.Module._extensions..js (module.js:660:10) 在 Module.load ( module.js:561:32) 在 tryModuleLoad (module.js:501:12) 在 Function.Module._load (module.js:493:3) 在 Module.require (module.js:593:17) 在 require ( internal/module.js:11:18) 在 /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11 在 Object. (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)

我知道最新的 Firebase SDK 中引入了 Callable Cloud Functions,所以我尝试使用以下方法更新它:

但我还不能部署我的云功能。我也尝试了部分部署,如Firebase 文档中所示,但没有成功。我在文档中遗漏了什么吗?

0 投票
1 回答
2756 浏览

google-cloud-functions - Cloud Function 将功能部署到所选项目

我阅读了Cloud Fucntions 文档并成功部署,并且运行良好。在我的 Firebase 中,我有两个项目,调试和生产,它们有不同的包名称。

我不知道如何将功能部署到我的生产项目中,仅部署到调试项目中。我在哪里更改部署目标,因为我使用谷歌进入 Firebase 并且项目调试/生产在那里。

0 投票
0 回答
58 浏览

node.js - firebase 部署失败并出现很多错误

根据执行 firebase 部署时显示的建议更新 firebase-tools 后,我无法再使用 firebase-tools。我得到了各种各样的错误,没有任何效果了。我已经完全卸载并重新安装了 nodejs/npm,并在 stackoverflow 上给出了这个答案

在重新安装 nodejs 并尝试重新安装 firebase-tools 后,我仍然遇到大量错误并且无法再部署任何东西。它完全坏了!帮助

firebase 部署错误 在此处输入图像描述

firebase 函数目录中的 npm install 错误 在此处输入图像描述

0 投票
4 回答
6157 浏览

node.js - 使用 Firebase CLI shell 测试可调用的云函数

我一直在尝试新的 firebase 可调用云功能,firebase functions:shell但我不断收到以下错误

请求的 Content-Type 不正确。

从函数收到的响应:400,{"error":{"status":"INVALID_ARGUMENT","message":"Bad Request"}}

这是我尝试在 shell 上调用此函数的方法

myFunc.post(数据对象)

我也试过这个

myFunc.post().form(dataObject)

但后来我得到错误的编码(形式)错误。dataObject是有效的 JSON。

更新:

我认为我需要用于这些功能firebase serve的本地仿真。callable https数据需要像这样在 post 请求中传递(注意它是如何嵌套在data参数中的)

我仍然想不通的是如何在通过 REST 客户端调用该函数时传递虚拟身份验证信息

0 投票
1 回答
408 浏览

node.js - Firebase 未从 mac 中的命令行部署

一段时间以来,我一直在尝试部署我的 firebase 功能项目,但我似乎做不到。我遵循了其他一些问题建议,但没有一个有效。我尝试在预部署中添加转义冒号:

而且我还尝试将我的间隔文件夹重命名为一个单词文件夹,但它也没有奏效。这是错误:

这是我的 package.json:

这是我的 firebase.json:

注意:我自己从预部署中删除了运行 lint。

我什至似乎无法部署helloWorld示例功能。尝试为该项目提供服务时,我收到此警告:

但是,该项目实际上是正确服务的。我还尝试全局卸载 google-cloud 并再次安装,但警告并没有消失。

请帮帮我,我的想法已经用完了。先感谢您。

0 投票
1 回答
1486 浏览

node.js - 使用带有 GET 的查询字符串在本地测试 Firebase HTTP Cloud 函数

我在 Firebase 上有一个 HTTP Cloud 功能。我可以使用没有查询字符串的 GET 方法成功调用本教程之后的函数。

我的问题是如何使用查询字符串测试 HTTP 函数?如何将它传递给调用调用?

我在外壳上试过这个

在我的 index.js 上,我尝试打印名称:

它不起作用并返回undefined

0 投票
2 回答
1944 浏览

firebase - Firebase 部署缓慢并收到警告

当我尝试运行“Firebase deploy”时,它卡在这行代码

并且做得很好,但firebase init一直卡住。我的 firebase 版本是,我目前使用的是 ubuntu 17.10。firebase loginfirebase deploy3.18.4

编辑:等待大约一个小时后,它会显示这行代码

难道我做错了什么?。我是 Firebase 的新手,我需要一些提示/建议来说明为什么会发生这种情况

0 投票
1 回答
69 浏览

firebase - Firebase CLI 下载限制

我有一个链接到 iOS 应用程序的 firebase 数据库,用户必须在该应用程序上登录才能从特定节点读取数据

所以我编辑了我的安全规则:

不过,我想阻止用户通过 firebase CLI 下载整个节点数据

我查看了文档https://firebase.google.com/docs/database/rest/auth但我不确定我是否正确理解了该做什么。

如何通过 Firebase CLI 禁用数据下载?或者有没有办法通过特定的 user.uid 或给定的 ip 限制下载数据?

0 投票
1 回答
467 浏览

firebase - firebase init 显示不正确的默认项目

我希望使用 firebase 功能。当我firebase init 在当前文件夹中输入时,它会在下面显示不正确的默认项目。显示的这些项目来自我的 google 帐户 1。目前我登录到 google 帐户 2。

在此处输入图像描述

我将如何firebase init显示正确的默认项目(来自谷歌帐户 2 的项目)?这些是我的谷歌账户 2 中的项目:
在此处输入图像描述