我只想知道。
为什么app.use(express.json)在mongoose.connect内不起作用?
代码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);
})
“ itemsRouter.js”中的console.log(req.body)为“未定义”
代码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);
})
但是当我把它放在mongoose.connect之外时(代码2)。它有效
答案 0 :(得分:1)
您只需要将experss.json()代码放在要导入/定义路线的行上方。
.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);
})