Node.js переменные среды не определены - PullRequest
1 голос
/ 29 марта 2020

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

.env

PORT=3000
SENDGRID_API_KEY=sometext

пакет. json

"scripts": {
    "start": "node src/index.js",
    "dev": "env-cmd -f ./config/dev.env nodemon src/index.js"
  }

индекс. js

const port = process.env.PORT
const apiKey = process.env.SENDGRID_API_KEY
app.listen(port, () => {  
    console.log('Server is up on port '+port)
    console.log(apiKey)
})

Ответы [ 2 ]

1 голос
/ 29 марта 2020

Попробуйте использовать dotenv npm


import * as dotenv from 'dotenv'

dotenv.config(); 
export class Constants { 

  process.env.<YOUR_VARIABLE_NAME>

}
0 голосов
/ 29 марта 2020

Если вы используете -f, тогда вас не волнует окружение -e, используйте один из них.

"env-cmd nodemon src/index.js"

.rc file ./.env-cmdrc

{
  "development": {
    "ENV1": "Thanks",
    "ENV2": "For All"
  },
  "test": {
    "ENV1": "No Thanks",
    "ENV3": "!"
  },
  "production": {
    "ENV1": "The Fish"
  }
}

// Команда:

env-cmd -e production nodemon index.js

Проверка: https://github.com/toddbluhm/env-cmd

...