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 这个依赖项才能使我的功能正常工作?
在当前状态下,应用程序:
- 使用
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
模块,但你可以部署一个 Lambda layer 和所有必需的 Firebase 依赖项并将其添加到你的函数中。
您可以查看示例回购 here
我有一个 Angular 8 + Universal (SSR) + Serverless 应用程序。不幸的是,它仍在使用一些 Firebase 功能。我在构建项目时无法捆绑 firebase,我在此处的 webpack 配置中将其排除:
externals: [
/^firebase/
],
现在我如何 provide/add 这个依赖项才能使我的功能正常工作?
在当前状态下,应用程序:
- 使用
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
模块,但你可以部署一个 Lambda layer 和所有必需的 Firebase 依赖项并将其添加到你的函数中。
您可以查看示例回购 here