env2找不到.env文件

问题描述 投票:0回答:1

我通过npm在项目中安装了env2。我在根目录中创建了一个config.env文件,其中包含以下内容:

DB_URL = mongodb://admin:[email protected]: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格式,但仍然无法正常工作。

node.js environment-variables
1个回答
0
投票

尝试dotenv npm。

npm install dotenv

require('dotenv').config()

。env文件数据

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
})
© www.soinside.com 2019 - 2024. All rights reserved.