我有一个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的连接已经建立。这意味着每次修改其中一个文件时,我都会尝试连接数据库。这是我该担心的吗有没有更好的方法来建立一次连接,而不是重新触发它所有的时间?任何建议高度赞赏
1条答案
按热度按时间nafvub8i1#
没什么好担心的。实际上是这样的。当你在代码中做一些修改时,它会重新启动整个服务器,这是完全正常的。如果你使用的是
18.11.0
以上的node版本,可以使用内置的node.js watcher使用node --watch index.js
,所以你不需要使用nodemon。--watch
仍然是一个实验性的特性。