env2 не может найти файл .env - PullRequest
0 голосов
/ 09 ноября 2019

Я установил env2 через npm в моем проекте. Я создал файл config.env в своем корневом каталоге, который содержит следующее:

DB_URL = mongodb://admin:user@password.mlab.com:41968/herokuerg_hc9xjmcl

Я пытаюсь потребовать его и использую его в моем файле node.js, например:

// Requiring the dependencies
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const PORT = process.env.PORT || 8080;
const itemRoutes = express.Router();
require('env2')('config.env');


app.use(cors());
app.use(bodyParser.json());



mongoose.connect(DB_URL, { useNewUrlParser: true } )

const connection = mongoose.connection;

connection.once('open', function() {
  console.log('Connection to MongoDB established succesfully!');
});

// Serve static assets
if(process.env.NODE_ENV === 'production') {
  app.use(express.static('build'));
}


itemRoutes.route('/').get( async (req, res) => {
  let collection = connection.collection("posts");
  let response = await collection.find({}).sort({date: -1})
  .toArray();
  res.send(response);
});


app.use('/', itemRoutes);


app.listen(PORT, function() {
  console.log('Server is running on' + ' ' + PORT);
})

Но когда я запускаю файл сервера, я получаю эту ошибку:

WARNING:  env2 was required to load an .env file:

По какой-то странной причине env2 не обнаруживает файл .env, почему и как я могу это исправить? Я попытался переустановить модули узла, даже изменив файл на формат .env.json, но он все равно не работает.

1 Ответ

0 голосов
/ 09 ноября 2019

Попробуйте dpmv npm.

npm install dotenv

require('dotenv').config()

.env file data

DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3

const db = require('db')
db.connect({
  host: process.env.DB_HOST,
  username: process.env.DB_USER,
  password: process.env.DB_PASS
})
...