0

NodeJS を ExpressJS で TypeScript に変換しようとしました。

「express-validator」ミドルウェアで問題が発生しました。

タイピングで定義をインストールしました:

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

req: express.RequestExpress-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

この質問は少し古いので、執筆時点では、DefiniteTyped 型付けは時代遅れであると想定します。
タイピングはコミュニティによって書かれなければならないため、これはまったく珍しいことではありません。

v3.1.0 以降は、タイピングが Express-validator に組み込まれているため、DefiniteTyped を介してそれらを含める必要はなくなりました。

于 2017-09-06T15:14:19.287 に答える