I just want to know.
why app.use(express.json) does not work inside mongoose.connect?
code 1:
mongoose.connect(DB, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
app.use('/items', itemsRouter);
app.use(express.json());
app.listen(3000, () => {
console.log('server started');
});
})
.catch(err => {
console.log("error, database not connected or:", err.message);
})
console.log(req.body) in "itemsRouter.js" is "undefined"
code 2:
app.use(express.json())
mongoose.connect(DB, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
app.use('/items', itemsRouter);
app.listen(3000, () => {
console.log('server started');
});
})
.catch(err => {
console.log("error, database not connected or:", err.message);
})
but when I put it outside mongoose.connect (code 2). it works
You just need to put the experss.json() code above the line where you are importing/defining the route.
.then(() => {
app.use(express.json());
app.use('/items', itemsRouter);
app.listen(3000, () => {
console.log('server started');
});
})
.catch(err => {
console.log("error, database not connected or:", err.message);
})
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.