Node.js 需要AWS Lambda中某个层的模块的测试模块

Node.js 需要AWS Lambda中某个层的模块的测试模块,node.js,aws-lambda,jestjs,serverless-framework,aws-lambda-layers,Node.js,Aws Lambda,Jestjs,Serverless Framework,Aws Lambda Layers,因此,我在我的无服务器框架节点JS项目中使用了层。我将所有常用的npm包添加到一个层中,因为我不希望每个Lambda函数都有巨大的包 问题是当运行单元测试(本地)时,它找不到这些模块 有什么办法可以解决这个问题吗?请尝试以下方法: 将package.json文件与所有依赖项一起添加到项目中 安装依赖项,以便在本地安装它们 在无服务器框架中使用该选项,以便最终包不包括node_modules目录: 请尝试以下操作: 将package.json文件与所有依赖项一起添加到项目中 安装依赖项,以便在本地

因此,我在我的无服务器框架节点JS项目中使用了层。我将所有常用的npm包添加到一个层中,因为我不希望每个Lambda函数都有巨大的包

问题是当运行单元测试(本地)时,它找不到这些模块

有什么办法可以解决这个问题吗?

请尝试以下方法:

  • 将package.json文件与所有依赖项一起添加到项目中
  • 安装依赖项,以便在本地安装它们
  • 在无服务器框架中使用该选项,以便最终包不包括node_modules目录:
  • 请尝试以下操作:

  • 将package.json文件与所有依赖项一起添加到项目中
  • 安装依赖项,以便在本地安装它们
  • 在无服务器框架中使用该选项,以便最终包不包括node_modules目录:

  • Bar的答案很好,但我也认为我可以使用--save dev标志安装所有依赖项,就这样

    Bar的答案很好,但我也认为我可以使用--save dev标志安装所有依赖项,仅此而已

    你是如何上传你的zip图层文件的?请描述一下你的zip结构?@AssaelAzran我不上传zip文件。无服务器框架为您完成了所有这一切,您只需键入命令“无服务器部署”。但是该层有nodejs文件夹,所有代码都在其中。我的代码可以看到层,这不是我的问题。问题是,当运行单元测试时,它无法在本地看到它们。除此之外,项目中还有一个layers文件夹,我在其中放置了所有层。图层是一个单独的项目。AWS为您管理lambda和层之间的依赖关系。再次,层工作正常。只是在运行单元测试时,它看不到它们。您是如何上传zip层文件的?请描述一下你的zip结构?@AssaelAzran我不上传zip文件。无服务器框架为您完成了所有这一切,您只需键入命令“无服务器部署”。但是该层有nodejs文件夹,所有代码都在其中。我的代码可以看到层,这不是我的问题。问题是,当运行单元测试时,它无法在本地看到它们。除此之外,项目中还有一个layers文件夹,我在其中放置了所有层。图层是一个单独的项目。AWS为您管理lambda和层之间的依赖关系。再次,层工作正常。只是在运行单元测试时,它看不到它们
    package:
      exclude:
        - node_modules/**