@types/express
および@types/express-serve-static-core
パッケージを使用しようとしましたが、問題が発生しました。index.d.ts
Definitions by:
をindex.d.ts
)応答。コード:
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
TypeScriptタイプとExpressjsに多くの問題があり、この問題は深刻かもしれませんが、*を使用せずにインポートすると、少なくともオーバーロードされたuse関数を呼び出すことで問題が解決
@natejgardnerあなたの問題はApiルーターにあります:
このような解決策を(「./routes/api」ファイルに)試すことができます。
import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;
それは私のための仕事です....お楽しみください:)
これは修正されていますか?
最も参考になるコメント
こんにちは@natejgardner'タイプ' RequestHandlerParams 'のパラメーターに割り当てることはできません
私もこのエラーに遭遇し、これを理解するのに非常に多くの時間を費やしました。 独自のd.tsを書いて型定義を修正してみました。 ファイルが失敗しました。 それから私はこのexpressjsに出くわしました:typescript:タイプの引数 'typeof
TypeScriptタイプとExpressjsに多くの問題があり、この問題は深刻かもしれませんが、*を使用せずにインポートすると、少なくともオーバーロードされたuse関数を呼び出すことで問題が解決