为什么节点server.js可以工作,但是节点./backend/server.js却给我这个错误?

时间:2019-12-10 20:34:57

标签: mongodb mongoose

我目前有以下文件目录: File directory

,如果我在后端目录中执行节点server.js,服务器将运行。但是,如果我位于根目录中,并且执行节点./backend/server.js,则会显示以下错误:

uri error

这是我在server.js上用于mongodb服务器的代码:

const express = require('express');
const mongoose = require('mongoose');
const dotenv = require('dotenv')

dotenv.config();

const app = express();

app.use(cors({origin: true,credentials: true}));
app.use(express.json());
const PORT = process.env.port || 5000;

const uri = process.env.ATLAS_URI;
mongoose.connect(uri, { useNewUrlParser: true, useCreateIndex: true });
const connection = mongoose.connection
connection.once('open', () => {
  console.log("MongoDB database connection established successfully");
})

1 个答案:

答案 0 :(得分:0)

我相信是因为您的.env文件不在根目录中。

说明:

运行node server.js时,应用程序将查找.env文件并加载环境变量。但是,当您导航到root并运行node ./backend/server.js时,找不到.env文件。所以process.env.ATLAS_URIundefined