Express + mongoose + nodemon数据库连接

1hdlvixo  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(199)

我有一个Express应用程序的起点

import express from "express";
import dotenv from "dotenv";
import userRoutes from "./routes/userRoutes.js";
import { connectDb } from "./config/db.js";

const app = express();
connectDb();

dotenv.config();

const PORT = process.env.PORT || 5001;

app.use("/api/users", userRoutes);
app.get("/", (req, res) => {
  res.send("Simple  server running on expresssssss");
});

app.listen(PORT, () => {
  console.log(`App running on port ${PORT}`);
});

以及负责存储DB连接函数的文件

import mongoose from "mongoose";
import dotenv from "dotenv";

dotenv.config();

const connectDb = async () => {
  try {
    await mongoose.connect(process.env.MONGO_DB_CONNECTION_STRING);
    console.log("DB connection established");
  } catch (err) {
    console.log("Error during the DB connection", err);
  }
};

export { connectDb };

我也在package.json中这样使用nodemon

"server": "nodemon backend/index.js"

现在,每次我更改项目中的一些文件时,我都会看到console.log,说明与DB的连接已经建立。这意味着每次修改其中一个文件时,我都会尝试连接数据库。这是我该担心的吗有没有更好的方法来建立一次连接,而不是重新触发它所有的时间?任何建议高度赞赏

nafvub8i

nafvub8i1#

没什么好担心的。实际上是这样的。当你在代码中做一些修改时,它会重新启动整个服务器,这是完全正常的。如果你使用的是18.11.0以上的node版本,可以使用内置的node.js watcher使用node --watch index.js,所以你不需要使用nodemon。--watch仍然是一个实验性的特性。

相关问题