#node.js #dotenv
#node.js #dotenv
Вопрос:
В моем приложении я использую два 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
файла я должен настроить иначе, чем первый.
Как мне загрузить два набора учетных данных в одну среду? Или я должен загружать их в разные среды?
Спасибо за ваше время.
Комментарии:
1. Импортируете ли вы в свой «основной» оба config.js ? или вы определили какое-то условие для импорта того или иного ‘config.js ?
Ответ №1:
Что касается вашего первого вопроса, да, вы можете загрузить оба набора учетных данных в одну среду, поскольку ключи для каждого разные, вам просто нужно импортировать оба 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.