javascript模块的环境声明,用于向其他模块中的接口添加字段

时间:2013-08-23 13:07:39

标签: node.js typescript ambient

假设我想使用像express这样的东西。所以我添加

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

然后可以使用ExpressServerRequest等类型。

到目前为止一切顺利。但现在我想使用connect-flash javascript模块。这为ExpressServerRequest添加了额外的闪存功能。我很难看到如何 定义connect-flash.d.ts,以便在我导入connect-flash模块时在ExpressServerRequest实例上定义req.flash(),否则不定义。可以在TypeScript中捕获此行为吗?

1 个答案:

答案 0 :(得分:1)

如果你要扩展的项目是一个界面,它们是在TypeScript中打开的,所以你可以像这样添加额外内容:

interface ExpressServerRequest {
    myAdditionalThing(): void;
}

有很多方法可以声明几乎任何东西,所以如果这不适合您的情况,只需发布​​退出的ExpressServerRequest,我就会更新示例。我在Definitely Typed上检查的express.d.ts版本将ExpressServerRequest作为接口。