Express + Typescript:属性 'body' 在类型 'Request' 上不存在

Express + Typescript: Property 'body' does not exist on type 'Request'

我得到以下代码:

import bodyParser from 'body-parser';
import express, { Router } from 'express';

const router: Router = express.Router();

router.use(bodyParser.json());

router.post('/api/users/signup', (req: express.Request, res: express.Response) => {
    const {email, password} = req.body;

    if (!email || typeof email !== 'string') {
        res.status(400).send('Provide a valid email');
    }
});

export {router as signUpRouter};

这里的req.body显示的是

的错误

Property 'body' does not exist on type 'Request'

并且我已经下载了以下库:

npm install express @types/express body-parser @types/body-parser typescript ts-node-dev

如果您使用的是新节点版本(v14+)和Express v4.16.0 onwards,请替换

router.use(bodyParser.json());

router.use(express.json());