Переменные среды NodeJS не определены - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь создать некоторые переменные окружения, но когда я создаю файл и запускаю сервер, кажется, что он не определен. Я использую nodemon. Я перезапустил свой сервер и не повезло.

ОБНОВЛЕНО

.env

MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";

package.json

...
  "scripts": {
    ...
    "start:server": "nodemon ./server/server.js"
  }

app.js

 require('dotenv').config();
 ...
 console.log(process.env.JWT_KEY); //undefined 

Ответы [ 3 ]

2 голосов
/ 30 июня 2019

Я полагаю, вы имеете в виду пакет dotenv .Чтобы настроить его, сначала создайте файл с именем .env, в котором ваши ключи и значения будут храниться следующим образом:

MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer

Затем, в вашем server.js, добавьте это в верхнюю часть:

require("dotenv").config();

Тогда переменная process.env будет объектом, содержащим значения в .env.

2 голосов
/ 30 июня 2019

Я считаю, что файл nodemon.json предназначен только для настройки конкретной конфигурации nodemon.Если вы посмотрите на документацию по nodemon для образца файла nodemon.json , единственная переменная env, о которой они упоминают, - это NODE_ENV.

Рассматривали ли вы помещение этих переменных среды для вашего приложения в.файл env вместо?Существует пакет под названием dotenv , который полезен для управления переменными env в Node.

Сначала установите dotenv с помощью команды npm install dotenv

Затем создайте файл с именем.env в корневом каталоге со следующим:

MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer

Наконец, в вашем файле app.js после импорта добавьте следующую строку:

require('dotenv').config()
0 голосов
/ 30 июня 2019

Это должно быть в корневом каталоге моего проекта.

nodemon.json

{
  "env": {
    "MONGO_ATLAS_PW": "xxxx",
    "JWT_KEY": "secret_this_should_be_longer"
  }
}
...