AWS Lambda + Serverless,where/how部署无法捆绑的js模块?

AWS Lambda + Serverless, where/how to deploy js module that couldn't be bundled?

我有一个 Angular 8 + Universal (SSR) + Serverless 应用程序。不幸的是,它仍在使用一些 Firebase 功能。我在构建项目时无法捆绑 firebase,我在此处的 webpack 配置中将其排除:

  externals: [
    /^firebase/
  ],

现在我如何 provide/add 这个依赖项才能使我的功能正常工作?

在当前状态下,应用程序:

只有当实际部署到 lambda 时,我才收到错误:

{
    "errorType": "Runtime.ImportModuleError",
    "errorMessage": "Error: Cannot find module 'firebase/app'",
    "stack": [
        "Runtime.ImportModuleError: Error: Cannot find module 'firebase/app'",
        "    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:36:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:776:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)",
        "    at Module.load (internal/modules/cjs/loader.js:653:32)",
        "    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:585:3)",
        "    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)",
        "    at startup (internal/bootstrap/node.js:283:19)"
    ]
}

我怎样才能在 aws lambda 中添加这个依赖项?

我不确定为什么你不能捆绑 Firebase 模块,但你可以部署一个 Lambda layer 和所有必需的 Firebase 依赖项并将其添加到你的函数中。

您可以查看示例回购 here