如何在不影响其他功能的情况下将某些功能部署到 Cloud Functions for Firebase?

How to deploy some functions to Cloud Functions for Firebase without affecting some other functions?

当我运行

firebase deploy --only functions

它读取 index.js 文件并更新从该文件导出的所有函数。如果在以前的部署中有一个名为 a 的函数,而在当前部署中没有这个函数,则 a 将被删除。

换句话说,效果与删除所有现有函数然后添加当前 index.js 文件中的所有函数相同。

是否可以add/update/delete单独的函数?

firebaser 在这里

目前无法使用 Firebase CLI 部署单个函数。 运行 `firebase deploy` 将部署所有功能。

我们最近讨论了部署功能的子集,但目前尚不可用 - 我们也无法给出 if/when 的大概情况。

更新 自 Firebase CLI 发布以来,部署单个函数的能力就可用了。参见

Firebase CLI 工具 3.8.0 添加了部署特定功能的能力。

firebase deploy --only functions:func1,functions:func2

--only <targets>     
only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, 
can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). 
When filtering based on export groups (the exported module object keys), use dots to specify group names 
(e.g. "--only functions:group1.subgroup1,functions:group2)"

下面的方法让我部署了一个特定的功能而不影响我的其他功能,其中 specificFunctionName 是我想要部署的功能

firebase deploy --only functions:specificFunctionName

在终端中快速复制命令:

firebase deploy --only functions:
firebase deploy --only "functions:<fileName>.<functionName>"

示例文件夹结构:

functions 
  node_modules
  index.js
  smsNotification.js
  ...

您可以使用

重新部署文件中的一个函数
firebase deploy --only "functions:smsNotification.sendChatNotif"

您可以使用

重新部署一个文件中的所有函数
firebase deploy --only "functions:smsNotification"