【问题标题】:Multiple packages on Firebase cloud Function projectFirebase 云功能项目上的多个包
【发布时间】:2021-01-13 13:25:12
【问题描述】:

有没有办法通过 cli 命令 (firebase deploy --only functions) 使用这种架构来实现 Firebase/Google 云功能?

预期:

.
└── functions/
    ├── function_using_axios/
    │   ├── node_modules/
    │   ├── package.json
    │   └── index.js
    └── function_using_moment/
        ├── node_modules/
        ├── package.json
        └── index.js

目前,我的架构如下所示:

.
└── functions/
    ├── node_modules/
    ├── package.json
    ├── index.js
    ├── function_using_axios.js
    └── function_using_moment.js

事实上,对于某些功能,我有很多无用的包依赖项。 并且会增加冷启动时间。

我知道这可以通过 Web UI 实现。

WEB UI 示例:

列表

一个功能一个包


在 WEB UI 上看到的我当前的 Archi,所有功能的一个包:

有什么想法吗?

谢谢。

【问题讨论】:

    标签: firebase architecture google-cloud-functions package cold-start


    【解决方案1】:

    通过 Firebase 部署时,只能有一个 index.js 文件,尽管 gcloud 在这方面可能有所不同。

    为确保只加载每个函数所需的依赖项,请将每个依赖项的 require 移动到需要它的函数中:

    exports.usageStats = functions.https.onRequest((request, response) => {
      const module = require('your-dependency');
      // ...
    });
    

    另见:

    • organizing functions 上的 Firebase 文档,它展示了一种在多个文件中使用函数的方法(尽管您仍然需要在 index.js 中导入/导出它们)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-05
      • 2023-04-01
      • 2018-05-29
      • 2021-04-26
      • 2020-06-09
      • 2018-06-15
      • 2019-12-23
      • 2017-12-19
      相关资源
      最近更新 更多