我正在使用带有 TypeScript 的 Google Firebase Cloud Functions,我发现即使每个函数都是单独部署的,它们都共享相同的包和依赖项,即使某些函数不使用它们也不导入它们。
就我而言,一个云功能使用 Redis,而其他云功能不使用。我有 10 个功能。所有 10 个函数实际上最终都导入了与 redis 相关的代码,即使它们没有导入它们。
由于所有函数共享相同的入口点,index.js。目前似乎不可能为每个函数设置单独的摇树捆绑包/入口点。
这在捆绑包大小/冷启动时间/内存等方面非常低效。这也意味着随着我拥有越来越多的功能,捆绑包大小将随着所有功能一起增长。它不可扩展。
有没有办法不共享入口点 index.js,并通过使用 webpack 之类的捆绑器来完全独立的捆绑包?