【发布时间】:2021-11-08 02:57:10
【问题描述】:
我正在使用 node & expressjs 作为应用程序。我在使用dotenv 将其部署到无服务器时遇到问题(不使用任何 dotenv 插件)。
我的serverless.yml是这样的:
functions:
server:
handler: index.server
events:
- http: ANY /
- http: "ANY /{proxy+}"
environment:
ENV_VAR1: ${env:ENV_VAR1}
我的.env.staging 是这样的:
ENV_VAR1='ENV_VAR1 using .env.staging'
ENV_VAR2='ENV_VAR2 using .env.staging'
我使用 AWS Lambda 并使用 sls deploy --stage staging 部署它。到目前为止,我可以通过调用process.env.ENV_VAR1 从.env.staging 读取ENV_VAR1,因为我在serverless.yml 文件中明确定义了它。但ENV_VAR2 的情况并非如此。
我的问题是,如何加载所有.env.{stage}文件而不一一定义密钥?
我希望像这样加载它:
environment: ${file(.env.${self:stage})}
提前谢谢你。
【问题讨论】:
标签: express aws-lambda environment-variables serverless dotenv