如何将环境变量的回退命令参数设置为无服务器中的默认值?
How fallback cmd parameter to environment variable to defaul valune in serverless?
考虑示例:
stage: ${opt:stage, 'dev'}
如果 --stage
参数未传递,将使用 dev
值。
stage: ${opt:stage, ${env.STAGE, 'dev'}}
导致错误,因为 stage
值不是字符串
stage: ${opt:stage, "${env.STAGE, 'dev'}"}
即使我设置了STAGE
系统变量也解析为dev
。
那么有没有办法让下面的逻辑:
1. 如果存在 STAGE
系统变量 - 应该使用它
1. 如果存在 --stage
参数 - 应该使用它。 (如果两者都存在,则覆盖 STAGE
系统变量)
1.当没有提供参数或系统变量时默认使用dev
如何定义变量来做到这一点?
你最后的努力非常接近。你想要 env:STAGE
,而不是 env.STAGE
。
stage: ${opt:stage, "${env:STAGE, 'dev'}"}
更多关于 Serverless here.
中的环境变量
考虑示例:
stage: ${opt:stage, 'dev'}
如果 --stage
参数未传递,将使用 dev
值。
stage: ${opt:stage, ${env.STAGE, 'dev'}}
导致错误,因为 stage
值不是字符串
stage: ${opt:stage, "${env.STAGE, 'dev'}"}
即使我设置了STAGE
系统变量也解析为dev
。
那么有没有办法让下面的逻辑:
1. 如果存在 STAGE
系统变量 - 应该使用它
1. 如果存在 --stage
参数 - 应该使用它。 (如果两者都存在,则覆盖 STAGE
系统变量)
1.当没有提供参数或系统变量时默认使用dev
如何定义变量来做到这一点?
你最后的努力非常接近。你想要 env:STAGE
,而不是 env.STAGE
。
stage: ${opt:stage, "${env:STAGE, 'dev'}"}
更多关于 Serverless here.
中的环境变量