Definitelytyped: @ types / express、@ types / express-serve-static-core-基本サーバーに障害が発生します。 'タイプ' "/ api" 'の引数は、タイプ' RequestHandlerParams 'のパラメーターに割り当てることができません。

作成日 2017年08月04日  ·  3コメント  ·  ソース: DefinitelyTyped/DefinitelyTyped

  • [x] @types/expressおよび@types/express-serve-static-coreパッケージを使用しようとしましたが、問題が発生しました。
  • [x] tscの最新の安定バージョンを使用してみました。 https://www.npmjs.com/package/typescript
  • [] StackOverflowに不適切な質問があります。 (そこで適切な質問をしてください)。
  • [x] [メンション](https://github.com/blog/821-mention-somebody-they-re-notified)著者( index.d.ts Definitions by:index.d.ts )応答。

    • 著者: @borisyankov

コード:

import * as express from "express";
import { Request, Response } from "express";
import * as bodyParser from "body-parser";
import * as api from "./routes/api";

namespace my_api  {
    let app = express();
    let port: number = process.env.port || 3000;
    app.use(bodyParser.json());
    app.use('/api', api);
    app.get('/', (req: Request, res: Response) => {
           res.send("Hello world");
    });

    app.listen(port, () => console.log(`Express app listening on port ${port}`);
}

構築時:

ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.

関連している:
expressjs / express#3263

最も参考になるコメント

こんにちは@natejgardner
私もこのエラーに遭遇し、これを理解するのに非常に多くの時間を費やしました。 独自のd.tsを書いて型定義を修正してみました。 ファイルが失敗しました。 それから私はこのexpressjsに出くわしました:typescript:タイプの引数 'typeof'タイプ' RequestHandlerParams 'のパラメーターに割り当てることはできません
TypeScriptタイプとExpressjsに多くの問題があり、この問題は深刻かもしれませんが、*を使用せずにインポートすると、少なくともオーバーロードされたuse関数を呼び出すことで問題が解決

全てのコメント3件

こんにちは@natejgardner
私もこのエラーに遭遇し、これを理解するのに非常に多くの時間を費やしました。 独自のd.tsを書いて型定義を修正してみました。 ファイルが失敗しました。 それから私はこのexpressjsに出くわしました:typescript:タイプの引数 'typeof'タイプ' RequestHandlerParams 'のパラメーターに割り当てることはできません
TypeScriptタイプとExpressjsに多くの問題があり、この問題は深刻かもしれませんが、*を使用せずにインポートすると、少なくともオーバーロードされたuse関数を呼び出すことで問題が解決

@natejgardnerあなたの問題はApiルーターにあります:

このような解決策を(「./routes/api」ファイルに)試すことができます。

import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;

それは私のための仕事です....お楽しみください:)

これは修正されていますか?

このページは役に立ちましたか?
0 / 5 - 0 評価