Node.js AWS Lambda错误“;找不到模块';mongodb'&引用;

Node.js AWS Lambda错误“;找不到模块';mongodb'&引用;,node.js,serverless-framework,Node.js,Serverless Framework,我已成功地将我的功能部署到AWS 尝试调用函数(serverless invoke-f facebookAdInsert-l)时,出现以下错误: { "errorMessage": "Cannot find module 'mongodb'", "errorType": "Error", "stackTrace": [ "Function.Module._load (module.js:474:25)", "Module.require (

我已成功地将我的功能部署到AWS

尝试调用函数(
serverless invoke-f facebookAdInsert-l
)时,出现以下错误:

{
    "errorMessage": "Cannot find module 'mongodb'",
    "errorType": "Error",
    "stackTrace": [
        "Function.Module._load (module.js:474:25)",
        "Module.require (module.js:596:17)",
        "require (internal/module.js:11:18)",
        "Object.<anonymous> (/var/task/src/facebookAdInsert.js:222:18)",
        "__webpack_require__ (/var/task/src/facebookAdInsert.js:20:30)",
        "Object.<anonymous> (/var/task/src/facebookAdInsert.js:234:16)",
        "__webpack_require__ (/var/task/src/facebookAdInsert.js:20:30)",
        "Object.<anonymous> (/var/task/src/facebookAdInsert.js:303:16)",
        "__webpack_require__ (/var/task/src/facebookAdInsert.js:20:30)"
    ]
}

有没有关于这个问题的想法?根据我的研究,可能的解决方案是在部署所有“依赖项”并将其移动到“依赖项”之前运行
npm install
,但这些都不起作用。

您缺少AWS lambda的mongodb层

打开一个终端并键入

  • mkdirnodejs
  • cd节点
  • npm init-y
  • npm安装mongodb
  • 压缩整个nodejs文件夹,确保如果解压缩该文件夹,将获得以下结构
  • 将此层上载到AWS Lambda
  • 将图层添加到Lambda函数中
  • 有了这个,它应该可以毫无问题地工作


    关于

    您解决了吗?你能分享你的serverles.yml文件吗?
    "dependencies": {
        "@babel/core": "^7.3.4",
        "@babel/preset-env": "^7.3.4",
        "aws-sdk": "^2.268.1",
        "babel-loader": "^8.0.5",
        "babel-plugin-transform-runtime": "^6.23.0",
        "babel-preset-env": "^1.7.0",
        "babel-preset-es2015": "^6.24.1",
        "dotenv": "^6.0.0",
        "moment": "^2.24.0",
        "mongodb": "^3.1.10",
        "mongoose": "^5.4.17",
        "parse-mongo-url": "^1.1.1",
        "request": "^2.88.0",
        "serverless-offline": "^3.33.0",
        "serverless-webpack": "^5.2.0",
        "webpack": "^4.29.6",
        "webpack-node-externals": "^1.7.2"
    }
    
        nodejs
          +---node_modules
                 +---------- (mongodb and other folders)