0

エクスプレスのようなものを使いたいとします。だから私は追加します

/// <reference path=".../express.d.ts" />
import express = require("express");

その後、ExpressServerRequest などのタイプを使用できます。

ここまでは順調ですね。しかし今、私は、たとえば connect-flash javascript モジュールを使用したいと考えています。これにより、ExpressServerRequest に追加のフラッシュ関数が追加されます。connect-flash モジュールをインポートした場合に ExpressServerRequest のインスタンスで req.flash() が定義され、それ以外の場合は定義されないように、connect-flash.d.ts を定義する方法を理解するのに苦労しています。この動作は TypeScript でキャプチャできますか?

4

1 に答える 1

1

拡張しているアイテムがインターフェイスの場合、それらは TypeScript で開かれているため、次のようにエクストラを追加するだけです。

interface ExpressServerRequest {
    myAdditionalThing(): void;
}

ほとんどすべてを宣言する方法があるため、これがあなたの場合のトリックでない場合は、既存の ExpressServerRequest を投稿してください。例を更新します。私が確認したバージョンの express.d.ts には、Definite Typed でインターフェイスとして ExpressServerRequest が含まれています。

于 2013-08-23T16:46:24.353 に答える