我尝试将我的NodeJS与ExpressJS一起转换为TypeScript。
我遇到了'express-validator'中间件的问题。
我用typings安装了这个定义:
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;
答案 0 :(得分:0)
由于这个问题有点陈旧,我假设在撰写本文时,DefinitelyTyped类型已经过时了。
这种情况并不罕见,因为它们的类型必须由社区编写。
从v3.1.0 +开始,输入内置于快速验证器中,因此您不再需要通过DefinitelyTyped包含它们。