,如果我在后端目录中执行节点server.js,服务器将运行。但是,如果我位于根目录中,并且执行节点./backend/server.js,则会显示以下错误:
这是我在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");
})
答案 0 :(得分:0)
我相信是因为您的.env
文件不在根目录中。
说明:
运行node server.js
时,应用程序将查找.env
文件并加载环境变量。但是,当您导航到root并运行node ./backend/server.js
时,找不到.env
文件。所以process.env.ATLAS_URI
是undefined
。