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());
我得到以下代码:
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());