【问题标题】:env2 cannot find .env fileenv2 找不到 .env 文件
【发布时间】: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


【解决方案1】:

试试 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
})

【讨论】:

    猜你喜欢
    • 2015-05-07
    • 2019-01-30
    • 2021-11-27
    • 1970-01-01
    • 2021-03-25
    • 2017-08-02
    • 2021-12-10
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多