0

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

预期的:

.
└── 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 实现。

网页界面示例:

列表 列出网页界面

一包一功能 用他自己的包的功能


My Current Archi 在 WEB UI 上看到,所有功能的一个包: 一个包,所有功能

任何想法 ?

谢谢。

4

1 回答 1

1

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

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

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

另见:

  • 关于组织函数的 Firebase 文档,它展示了一种在多个文件中使用函数的方法(尽管您仍然需要在 index.js 中将它们全部导入/导出)。
于 2021-01-13T14:35:46.937 回答