0

在我的应用程序中,我使用了两个需要不同凭据的 API。我将每个存储在一个.env文件中并使用process.env. .env.config文件都在不同的目录中。

第一个config.js

const dotenv = require('dotenv');
const cfg = {};

dotenv.config({path: '.env'});

cfg.port = process.env.PORT;

cfg.apiKey = process.env.apiKey;
cfg.authDomain = process.env.authDomain;
cfg.databaseURL = process.env.databaseURL;
cfg.projectId = process.env.projectId;
cfg.storageBucket = process.env.storageBucket;
cfg.messagingSenderId = process.env.messagingSenderId;


module.exports = cfg;

第二config.js

const dotenv = require('dotenv');
const cfg = {};

dotenv.config({path: '.env'});

cfg.port = process.env.PORT;

cfg.accountSid = process.env.TWILIO_ACCOUNT_SID;
cfg.authToken = process.env.TWILIO_AUTH_TOKEN;
cfg.twimlAppSid = process.env.TWILIO_TWIML_APP_SID;
cfg.callerId = process.env.TWILIO_CALLER_ID;

module.exports = cfg;

.env我以相同的方式配置了两个文件。但显然第二个 config.js 无法读取凭据,例如:TWILIO_ACCOUNT_SID、TWILIO_AUTH_TOKEN 等。这让我相信对于第二个.env文件,我必须与第一个文件进行不同的配置。

如何将两组凭据加载到一个环境中?还是我必须将它们加载到不同的环境中?

谢谢你的时间。

4

1 回答 1

0

对于您的第一个问题,是的,您可以在一个环境中加载两组凭据,因为每个环境的密钥都不同,您只需在“主”代码中导入两个 config.js。如果您需要在同一个 api 中使用两组凭据,您可以在同一个 JSON 中使用两个凭据,如下所示:

{
  firstSet: {
      TWILIO_ACCOUNT_SID: 'value',
      TWILIO_AUTH_TOKEN: 'value',
      TWILIO_TWIML_APP_SID: 'value',
      TWILIO_CALLER_ID: 'value'
  },
  secondSet: {
      TWILIO_ACCOUNT_SID: 'value2',
      TWILIO_AUTH_TOKEN: 'value2',
      TWILIO_TWIML_APP_SID: 'value2',
      TWILIO_CALLER_ID: 'value2'
  }
}

定义了两个不同的凭据,您可以根据需要定义在 config.js 中使用一个或另一个或两个凭据的逻辑,并将其导出到您的应用程序,您可以从配置中选择凭据以在 api 中使用.

于 2019-04-14T19:51:15.437 回答