0

我试图将我的 NodeJS 与 ExpressJS 转换为 TypeScript。

我遇到了“express-validator”中间件的问题。

我用打字安装了定义:

typings install dt~express-validator --global --save

我希望req: express.Request有 express-validator 的定义(即 req.checkQuery、req.checkParams 等等)。

但是编译后我得到了...

error TS2339: Property 'checkQuery' does not exist on type 'Request'.

我是否必须导入一些东西才能使其工作?

谢谢你。

以下是我的代码..

import * as express from 'express';

let router: express.Router = express.Router();

router.get('/somepath', function (req: express.Request, res, next) {
  // code

  req.checkQuery('getparam', 'Invalid getparam').isInt(); // error

  // code
});

export = router;
4

1 回答 1

0

由于这个问题有点老了,我假设在撰写本文时,DefinitelyTyped 类型已经过时了。
这一点也不罕见,因为他们的类型必须由社区编写。

v3.1.0 + 开始,类型被内置到 express-validator 中,因此您不再需要通过 distinctlyTyped 包含它们。

于 2017-09-06T15:14:19.287 回答