我使用webpack和serverless部署到aws lambda。到目前为止,我已经能够将它配置为将所有依赖项捆绑到一个ts文件中,但aws抱怨没有package.json。所以,我找到了一种方法来上传节点模块文件夹,这也带来了包。但是由于我在windows上,aws实例不喜欢这些库。
如何包含包。当我运行无服务器包或部署命令时,aws lambda可以运行install?
include:
- package.json
行不通。
如果你正在使用Serverless Webpack插件,你应该能够通过使用插件的packagerOptions
配置并指定x64架构的linux平台以及要打包的npm模块列表来获得你需要安装的任何本地模块。
查看插件文档中的自定义脚本部分了解更多信息。
例如,如果你的Lambda函数依赖于sharp
npm包,你应该在serverless.yml
文件中添加如下内容:
custom:
webpack:
includeModules: true
packagerOptions:
scripts:
- npm_config_platform=linux npm_config_arch=x64 yarn add sharp