Возникли проблемы с получением dotenv, чтобы забрать мой файл .env
Вот моя файловая структура:
├── app.js
├── node_modules
│ └── ...
├── package.json
├── routes
│ └── index.js
└── start.js
│
└── .env
А вот мой start.js:
require('dotenv').config();
console.log(process.env.MONGO_URI);
const mongoose = require('mongoose');
mongoose.connect(process.env.DATABASE, { useMongoClient: true });
mongoose.Promise = global.Promise;
mongoose.connection
.on('connected', () => {
console.log(`Mongoose connection open on ${process.env.DATABASE}`);
})
.on('error', (err) => {
console.log(`Connection error: ${err.message}`);
});
внутри моего .env выглядит следующим образом:
mongodb+srv://username:password@livewelldb-aqoul.mongodb.net/test?retryWrites=true&w=majority
К сожалению, при запуске моего приложения node.js я получаю следующую ошибку:
C:\Users\user\Desktop\project\node_modules\mongoose\lib\connection.js:520
throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
^
MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
это происходит потому, что dotenv делаетПохоже, я не могу найти мой файл .env по какой-то причине. когда я запускаю console.log(process.env.MONGO_URI);
, я получаю неопределенное значение.
Не знаю почему. У большинства людей с этой проблемой есть одна из следующих проблем:
- они не запускают свою программу из корневого каталога
- , их .env не находится в их корневом каталоге
- их .env названы неверно, например, "config.env"
- их .env отформатированы в формате, отличном от UTF-8
У меня нет ни одного из нихпроблемы. Я не уверен, что может быть причиной.
Есть идеи?