【问题标题】:Using env variables in swagger.yaml in nodejs在 nodejs 的 swagger.yaml 中使用环境变量
【发布时间】:2018-08-03 22:29:01
【问题描述】:

试图弄清楚如何访问 swagger.yaml 配置文件中的 env 变量。 可以使用 process.env.VARNAME 在 nodejs 应用程序内部访问该变量。我想在 swagger.yaml 文件中使用相同的变量。 像

definations: 
     myvariabledetail: "${process.env.VARNAME}"

。我已经尝试过不同的组合,包括"${process.env.VARNAME}"${process.env.VARNAME}${VARNAME} 等。

【问题讨论】:

    标签: node.js github yaml swagger


    【解决方案1】:

    YAML 作为文本文件格式对环境变量一无所知。一种解决方案是加载 YAML,然后使用正则表达式查找环境变量并用当前值替换它们的代码。然后最后将生成的字符串传递给您的 YAML 解析器。

    【讨论】:

    • 我明白了,这澄清了一些事情。我会处理这个并在这里更新。
    • @NikhilManapure,我已经在图书馆发布了一个答案,这可能会对你有所帮助:)
    【解决方案2】:

    你可以使用envsub:

    const envsub = require('envsub');
    envsub({
        templateFile: `${__dirname}/input.yml`,
        outputFile: '/dev/null', // or filename to save result
    })
        .then(({ outputContents }) => console.log(outputContents));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 2016-11-15
      • 1970-01-01
      相关资源
      最近更新 更多