需要来自 AWS Lambda 层的模块的测试模块

Testing module that requires a module from a layer in AWS Lambda

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

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

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

尝试以下操作:

  1. 将包含所有依赖项的 package.json 文件添加到您的项目
  2. 安装依赖项,这样您就可以在本地安装它们
  3. 在 Serverless 框架中使用 Exclude 选项,这样最终的包将不包含 node_modules 目录:
package:
  exclude:
    - node_modules/**

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