在我的应用中,我使用了两个需要不同凭据的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
文件,我必须配置与第一个不同的文件。 >
如何将两组凭据加载到一个环境中?还是我必须将它们加载到不同的环境中?
感谢您的时间。
答案 0 :(得分: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中。