Я использую Node, установил dotenv
на свой ПК и сохранил фиктивную переменную среды (API_KEY=43783283287) в файле .env.
Также рассмотрите пути к файлам ниже (если это поможет):
- app.js хранится в bloccit/src/app.js.
- .env хранится в bloccit/.env
- main-config.js хранится в bloccit\src\config\main-config.js
Чтобы получить полную картину, это также фрагмент кода
основной-config.js:
require("dotenv").config()
const path = require("path");
const viewsFolder = path.join(__dirname, "..", "views");
приложение.js:
const express = require("express");
const app = express();
const appConfig = require("./config/main-config.js");
console.log(process.env); //returns windows environment variables
console.log(process.env.API_KEY); //returns undefined
const routeConfig = require("./config/route-config.js");
appConfig.init(app, express);
routeConfig.init(app);
module.exports = app;
.env:
API_KEY=43783283287
Проблема: когда я запускаю свой файл app.js (который включает console.log(process.env)
), я получаю список всех переменных среды Windows (см. изображение, прикрепленное ниже), но я не вижу в списке свой API_KEY.
Кроме того, если я делаю console.log(process.env.API_KEY)
, он возвращает undefined
.
Что я делаю не так?
process.env
, если вы его не загрузите. - person Mike 'Pomax' Kamermans   schedule 13.11.2019require("dotenv").config()
? - person user3926863   schedule 13.11.2019.env
файл находится в корневом каталоге,app.js
— в корневом каталоге, а app.js получаетrequire("dotenv").config()
. Если что-то из этого не так, вам придется указать dotenv, где явно найти файл.env
, который необходимо загрузить, что обычно совершенно не нужно. - person Mike 'Pomax' Kamermans   schedule 13.11.2019