我通过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格式,但仍然无法正常工作。
尝试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
})