2016-10-05 63 views
0

我試圖將我的NodeJS與ExpressJS轉換爲TypeScript。使用TypeScript的快速驗證器

我遇到了'express-validator'中間件的問題。

我安裝了分型的定義:

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; 

回答

0

由於這個問題是有點老了,我會認爲,在寫作的時候,DefinitelyTyped分型已經過時。
這並不罕見,因爲他們的類型必須由社區撰寫。

v3.1.0 +開始,類型被內置到express驗證程序中,因此您不需要通過DefinitelyTyped將它們包括在內。