我有一个Angular 8 + Universal (SSR( + Serverless应用程序。 不幸的是,它仍在使用一些Firebase功能。我在构建项目时无法捆绑火力库,我在这里的 webpack 配置中排除了它:
externals: [
/^firebase/
],
现在如何提供/添加此依赖项以使我的函数正常工作?
在当前状态下,应用:
- 使用
ng serve
工作 - 作为静态托管工作
- 服务作品 作为本地服务器的 SSR
- 通过
serverless-offline
工作 插件
只有当实际部署到 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
模块,但您可以部署具有所有必需的 Firebase 依赖项的 Lambda 层并将其添加到您的函数中。
您可以在此处查看示例存储库