Я использовал пакет config , но у меня слишком много головной боли.поэтому я перешел на пакет env-cmd .вот как вы должны реализовать:
npm install env-cmd
, затем создайте каталог / config в вашей корневой папке.создайте внутри него файл dev.env.введите здесь свои переменные следующим образом:
/ config / dev.env
PORT=3000
ADMIN_PASSWORD=fifteeen_adminpassword
обратите внимание, что для соглашения об именовании переменные env всегда являются заглавными буквами, и мы разделяем их через "_".и значения НЕ являются строками.
теперь вам нужно настроить файл package.json.в «скриптах» у нас обычно есть сценарии запуска, разработки, тестирования.start для платформ развертывания, test для тестирования и dev для нашей текущей среды разработки.если вы используете nodemon (скорее всего, и вы), ваши сценарии разработки должны выглядеть следующим образом.
"scripts": {
"start": "node src/index.js",
"dev": "nodemon src/index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
при запуске npm run dev
, терминал запустит этот nodemon src/index.js
.это базовая конфигурация для любого приложения узла.Теперь нам нужно передать наши переменные, которые хранятся в /config/dev.env.к нашему приложению.для этого изменения "dev" на
"dev": "env-cmd -f ./config/dev.env nodemon src/index.js",
теперь пакет env-cmd устанавливает все переменные, которые вы передали в /config/dev.env как переменную окружения.теперь вы используете их следующим образом:
const admin = new Admin({
username: "admin",
password: process.env.ADMIN_PASSWORD
});
Обратите внимание, что при развертывании проекта в github вы добавляете имя папки конфигурации в файл .gitignore.поэтому ваши пароли или ключи API не будут общедоступными.
также каждый раз, когда вы добавляете новую переменную в процесс терминала dev.env и перезапускаете ее.mongodb выдаст ошибку.