为什么 firebase 功能部署极其缓慢?

yuv*_*val 12 firebase google-cloud-functions google-cloud-firestore

当我运行命令“firebase deploy --only functions”时,即使我没有更新我的函数,也需要大约 1 分钟来部署我的函数。
难道我做错了什么?
可能是因为我的函数文件夹中的 node_modules 文件夹吗?
firebase 中的函数部署是不是很慢?
控制台日志:

C:\Users\myUser\Desktop\myProject> firebase deploy --only functions

=== Deploying to 'myProject'...

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
+  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (36.96 KB) for uploading
+  functions: functions folder uploaded successfully
i  functions: updating Node.js 10 (Beta) function myFunction(europe-west1)...
i  scheduler: ensuring necessary APIs are enabled...
i  pubsub: ensuring necessary APIs are enabled...
+  scheduler: all necessary APIs are enabled
+  pubsub: all necessary APIs are enabled
i  functions: scheduler job firebase-schedule-myFunction-europe-west1 is up to date, no changes required
+  functions[myFunction(europe-west1)]: Successful update operation.

+  Deploy complete!
Run Code Online (Sandbox Code Playgroud)

它通常会在这条线上卡住 1 分钟:

i  functions: scheduler job firebase-schedule-svt-europe-west1 is up to date, no changes required
Run Code Online (Sandbox Code Playgroud)

San*_*esh 21

1-2 分钟是典型的。与其他一些 FaaS 提供商不同,Cloud Functions 实际上npm installnode_modules在云中运行和构建的,这确实需要一些时间,但也意味着您无需担心交叉编译本机依赖项。

Cloud Functions 不知道您是否更新了您的函数,因此它每次都会重新部署。

我的建议是仅更新您更改的功能。您可以使用以下方法执行此操作:

firebase deploy --only functions:specificFunctionName,anotherFunctionName,etc
Run Code Online (Sandbox Code Playgroud)

这应该至少会加快一点速度,但可能不会太多。

  • 只是为了向此命令添加注释,它实际上是 firebase deploy --only functions:specificFunctionName,functions:anotherFunctionName,... 确保在逗号后面和您要执行的每个函数的函数名称之前添加“functions:”部署。 (12认同)
  • 它应该基于 package-lock.json 缓存 node_modules (4认同)