如何使用 node.js lambda 和无服务器框架忽略 node_modules?
How to ignore node_modules with node.js lambda and serverless frameowrk?
我正在尝试使用 node.js 部署 lambda 函数,截至目前,当我使用 serverless deploy
时,我的整个项目目录都被推送到 lambda 的 zip 文件中。
但是请记住项目的规模,我正在寻找在我使用 serverless deploy
时不包括 node_modules 的东西,而是在部署 lambda 期间安装它们,简而言之,类似的东西python https://www.tutorialspoint.com/serverless/serverless_plugins.htm
的无服务器插件
node_modules
中的库是您在 AWS Lambda 中 运行 的函数所必需的。这就是它们被称为 dependencies
的原因,这就是它们被压缩并上传到 S3 的原因,因为您的函数需要它们才能 运行.
如果您正在使用仅用于开发的特定库,如 typescript、joi、mocha 或 jest,您可以通过将它们安装为开发依赖项来确保无服务器框架不会打包它们,如下所示:
npm i -D joi
serverless deploy
是部署lambda。 serverless-python-requirements
插件只是一个打包扩展,它为 python 项目提供了与使用 npm 的 nodejs 项目类似的工作流程。
Lambda 唯一可用的包是 aws-sdk
我正在尝试使用 node.js 部署 lambda 函数,截至目前,当我使用 serverless deploy
时,我的整个项目目录都被推送到 lambda 的 zip 文件中。
但是请记住项目的规模,我正在寻找在我使用 serverless deploy
时不包括 node_modules 的东西,而是在部署 lambda 期间安装它们,简而言之,类似的东西python https://www.tutorialspoint.com/serverless/serverless_plugins.htm
node_modules
中的库是您在 AWS Lambda 中 运行 的函数所必需的。这就是它们被称为 dependencies
的原因,这就是它们被压缩并上传到 S3 的原因,因为您的函数需要它们才能 运行.
如果您正在使用仅用于开发的特定库,如 typescript、joi、mocha 或 jest,您可以通过将它们安装为开发依赖项来确保无服务器框架不会打包它们,如下所示:
npm i -D joi
serverless deploy
是部署lambda。 serverless-python-requirements
插件只是一个打包扩展,它为 python 项目提供了与使用 npm 的 nodejs 项目类似的工作流程。
Lambda 唯一可用的包是 aws-sdk