【发布时间】:2021-07-30 01:38:21
【问题描述】:
我在server.js 文件中创建了一个快速服务器,并从中导出app。
//server.js
require("dotenv").config();
const express = require("express");
const app = express();
const connectToDb = require("./connectToDb")
connectToDb().catch(console.dir)
app.use((req, res) => {
res.status(404).send("unable to find");
});
module.exports = app
我在connectToDb.js 文件中从server.js 导入app
//connectToDb.js
const app = require("./server")
const MongoClient = require("mongodb").MongoClient;
const client = new MongoClient(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
});
const port = process.env.PORT || 3000;
const connectToDb = async () =>{
try {
await client.connect();
console.log("Connected correctly to server");
app.listen(port, () => {
console.log(`Listening on port ${port}`);
})
} catch (err) {
console.log(err.stack);
} finally {
await client.close();
console.log("hello")
}
}
module.exports = connectToDb
它成功连接到数据库,但是当它到达app.listen 时,它给了我这个错误:TypeError: app.listen is not a function。我不知道为什么它给我一个错误,因为我已经导出了app。我做错了什么?
【问题讨论】:
标签: javascript node.js express server commonjs