hab*_*her 4 google-cloud-functions
我有一个节点服务器和多个控制器,它们在该目录中执行数据库操作和助手(例如,对于电子邮件)。
我想在我的函数中使用该目录中的源代码。假设以下目录结构:
src/
server/
/app/controllers/email_helper.js
fns/
send-confirm/
Run Code Online (Sandbox Code Playgroud)
email_helper在发送确认功能中使用的最佳方法是什么?
我试过了:
以上任何一项都没有。
原则上,您的Cloud Functions可以使用任何其他Node.js模块,就像使用任何标准Node.js服务器一样。但是,由于Cloud Functions需要在云中构建模块,因此需要能够从云中找到那些依赖模块。这就是问题所在。
Cloud Functions可以从以下任一位置加载模块:
functions/目录中的任何位置。firebase initfirebase deploy在您的情况下,从的角度来看functions/package.json,该../server/目录不会属于任何类别,因此Cloud Functions无法使用您的模块。不幸的是,firebase deploy没有遵循符号链接,这就是为什么该解决方案不起作用的原因。
我看到两个可能的立即修复:
server/目录移到functions/。我意识到这不是最漂亮的目录布局,但这是黑客入侵时最简单的修复方法。在functions/package.json那你可以在本地的依赖./server。.tar并将其放在Google云端硬盘或Firebase Cloud Storage上。或者,您可以使用公共git存储库。将来,如果firebase deploy跟随符号链接,我会喜欢的。我已经在Firebase的内部错误跟踪器中提出了功能请求。
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |