使用该sam build命令时,我预计不会包含该aws-sdk包,因为 Node.js Lambda 运行时已包含该包。
据我了解, for nodejs 是来自命令sam build的端口,但是当我运行时我没有看到任何标志。claudia packclaudiajs--no-optional-dependenciessam build --help
我尝试安装aws-sdk为可选依赖项,但仍然包含在内。
有没有办法node_modules使用sam build命令从目录中排除依赖项?
从我的实验中,我发现了几个选择:
npm i -D aws-sdk
Run Code Online (Sandbox Code Playgroud)
npm i -O aws-sdk
Run Code Online (Sandbox Code Playgroud)
# .npmrc
optional = false
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构如下所示:
-- project
|-- lambdas
| |-- lambda1
| | |-- node_modules
| | | `-- ...
| | |-- .npmrc
| | |-- index.js
| | |-- package-lock.json
| | `-- package.json
| `-- lambda2
| |-- node_modules
| | `-- ...
| |-- .npmrc
| |-- index.js
| |-- package-lock.json
| `-- package.json
|-- package-lock.json
|-- package.json
`-- template.yml
Run Code Online (Sandbox Code Playgroud)
在这两个实例中运行 sam build 会捆绑软件包,而不会产生我不需要的依赖项。
| 归档时间: |
|
| 查看次数: |
3925 次 |
| 最近记录: |