我在如何配置我的本地环境以重现 prod env 的行为方面遇到问题。
我的 prod env 的简化视图:
├── λf A
│ └── layer L
│
├── λf B
│ └── layer L
│
└── λf C
A、B和C是经典的 node.js lambda 函数。A & B共享一些lodash.js
我想在 lambda 层下分组的常见依赖项(比方说):L。
对于我的开发环境,我使用 Lerna(但这不是强制性的)作为具有这种结构的单声道存储库工作:
.
├── packages
│ ├── A
│ │ ├── node_modules
│ │ └── package.json
│ ├── B
│ │ ├── node_modules
│ │ └── package.json
│ ├── C
│ │ ├── node_modules
│ │ └── package.json
│ └── L
│ ├── node_modules
│ └── package.json
├── package.json
└── lerna.json
要发布L,我所要做的就是安装它的依赖项并将node_modules文件夹的内容复制到nodejs/node_modules
我层的路径中。
但我目前无法做到的是让模块A和B解决它们在标准node_modules路径和L node_modules文件夹中的依赖关系。
一些不可接受的解决方案:
- 复制依赖项
- 在 lerna package.json中全局添加L依赖项(因为在我的真实环境中我有多个层)