我有一个 ExpressJS 应用程序。我想在 Lambda 函数和 EC2 上执行它。
为了在 Lambda 函数上执行它,我使用 @vendia/serverless-express
包。
为了在 EC2 上执行它,我想排除安装 @vendia/serverless-express
。
环境变量 TYPE
可以区分两个部署。
由于 @vendia/serverless-express
是 package.json
中我的依赖项
的一部分,它也安装在 EC2 上。有没有办法使用 EC2 部署的 TYPE
环境变量来排除它?
最佳答案
您可以在 package.json 中定义一个 block ,例如:
{
...
"serverlessDependencies":
{
"@vendia/serverless-express": "*"
},
...
}
然后,使用名为 handpick 的库选择何时安装它们。
然后编写一个 bash 脚本来评估 NODE_ENV
并决定要做什么:
伪代码:
npm install
if(NODE_ENV == 'serverless')
npx handpick --target=serverlessDependencies
关于node.js - 有条件地从 package.json 中排除安装 Node 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73854423/