2

我正在寻找一种方法来引用一组不同的秘密(环境变量),具体取决于另一个环境变量的值。

IE
if (process.env.STAGE === "test") return config = process.env.TEST_CONFIG

我知道通过自动 github 部署,其中包含 env 变量

但是我如何正确引用它们呢?例如:

const config = process.env.NOW_GITHUB_COMMIT_REF === 'master' ? prod : dev;

对我不起作用。

( NOW_GITHUB_COMMIT_REF: 部署应用程序时使用的分支。)

4

1 回答 1

3

我只是从 Spectrum 复制我的答案。

文件夹结构:

config/
    dev.json
    test.json
    prod.json
    index.js
api/
    search.js

配置/index.js

const devConfig = require('../config/dev');
const testConfig = require('../config/test');
const prodConfig = require('../config/prod');

const { NOW_GITHUB_COMMIT_REF } = process.env;
if (NOW_GITHUB_COMMIT_REF === 'test') 
  return testConfig;
else if (NOW_GITHUB_COMMIT_REF === 'master') 
  return prodConfig;
else
  return devConfig;

api/search.js

const config = require('../config');

在这种情况下,master分支获取产品配置,test分支 - 测试配置,所有其他分支 - 开发配置。

于 2019-08-18T15:40:17.047 回答