【发布时间】:2019-11-09 15:08:43
【问题描述】:
我在我的项目中通过 npm 安装了 env2。我在我的根目录中创建了一个 config.env 文件,其中包含以下内容:
DB_URL = mongodb://admin:user@password.mlab.com:41968/herokuerg_hc9xjmcl
我尝试要求它并像这样在我的 node.js erver 中使用它:
// 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。
-
从配置中移除 .env require('env2')('config.env');
标签: node.js environment-variables