试图弄清楚如何在Swagger.YAML配置文件中访问Env变量。可以使用process.env.VARNAME
在NodeJS应用程序内访问该变量。我想在Swagger.yaml文件中使用相同的变量。像
definations:
myvariabledetail: "${process.env.VARNAME}"
。我已经尝试了不同的组合,包括"${process.env.VARNAME}"
,${process.env.VARNAME}
,${VARNAME}
等。
yaml作为文本文件格式对环境变量一无所知。一个解决方案是加载YAML,然后具有使用正则拨号来查找环境变量并用当前值替换它们的代码。然后最终将所得的字符串传递到您的yaml解析器中。
您可以使用Envsub:
const envsub = require('envsub');
envsub({
templateFile: `${__dirname}/input.yml`,
outputFile: '/dev/null', // or filename to save result
})
.then(({ outputContents }) => console.log(outputContents));