экспресс-валидатор с машинописным текстом

#node.js #typescript #express #express-validator

#node.js #typescript #экспресс #экспресс-валидатор

Вопрос:

Я попытался преобразовать свои NodeJS с помощью ExpressJS в TypeScript.

У меня возникла проблема с промежуточным программным обеспечением express-validator.

Я установил определение с помощью typings:

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

Я ожидаю req: express.Request , что у него будут определения экспресс-валидатора (т.Е. 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;
  

Ответ №1:

Поскольку этот вопрос немного устарел, я предположу, что на момент написания статьи типизация DefinitelyTyped устарела.
Это совсем не редкость, поскольку их типизация должна быть написана сообществом.

Начиная с версии v3.1.0 , типизации встроены в экспресс-валидатор, поэтому вам больше не нужно включать их через DefinitelyTyped .