当我跑步时
firebase deploy --only functions
它读取index.js
文件并更新从该文件导出的所有函数。如果在之前的部署中有一个名为 a
的函数,而在当前部署中没有这样的函数,a
将被删除。
换句话说,效果与删除所有现有函数,然后添加当前index.js
文件中的所有函数的效果相同。
是否可以添加/更新/删除单个功能?
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:
Firebaser
我们最近讨论了部署函数的子集,但目前尚不可用 - 我们也无法给出是否/何时可能。
更新 自 Firebase CLI 发布以来,部署单个功能的功能可用。看玉库的回答。
我从来没有设法让它工作(并且我的 firebase.json 中没有代码库属性(,直到我尝试了 @Sergey Mell 在他的评论中提到的内容:
firebase deploy --only "functions:func1,functions:func2"
周围的双引号解决了这个问题。
firebase deploy --only "functions:<fileName>.<functionName>"
示例文件夹结构:
functions
node_modules
index.js
smsNotification.js
...
您可以使用
firebase deploy --only "functions:smsNotification.sendChatNotif"
您可以使用
firebase deploy --only "functions:smsNotification"
如果有人仍然无法使用 firebase deploy --only functions:func1,functions:func2
来工作,这可能是因为您可能正在使用代码库,"codebase": "my-codebase"
,在您的firebase.json
中。我花了一段时间来诊断,但在删除该代码库属性后,仅使用 --only
标志部署一些函数对我有用
这个给了我丢失的包。虽然包含软件包,但我不得不重新安装提到的软件包。
Firebase --debug deploy --only functions:[functionName]