javascript模块的环境声明,将字段添加到其他模块中的接口



假设我想使用类似express的东西。所以我添加

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

然后可以使用ExpressServerRequest之类的类型。

到目前为止还不错。但现在我想使用,例如,connect-flashjavascript模块。这为ExpressServerRequest添加了一个额外的闪存功能。我正在努力想办法定义connect-flash.d.ts,这样如果我导入了connect-flash模块,req.flash()就会在ExpressServerRequest的实例上定义,而不是在其他情况下定义。这种行为可以在TypeScript中进行captued吗?

如果您正在扩展的项是一个接口,那么它们在TypeScript中是打开的,所以您可以添加额外的内容,比如:

interface ExpressServerRequest {
    myAdditionalThing(): void;
}

有很多方法可以声明几乎任何东西,所以如果这不是您的案例的诀窍,只需发布退出的ExpressServerRequest,我将更新示例。我在确定性类型上检查的express.d.ts版本有ExpressServerRequest作为接口。

相关内容

  • 没有找到相关文章

最新更新