0

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

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

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

到目前为止,一切都很好。但现在我想使用例如 connect-flash javascript 模块。这为 ExpressServerRequest 添加了一个额外的 flash 功能。我正在努力了解如何定义 connect-flash.d.ts 以便 req.flash() 如果我已经导入了 connect-flash 模块,则在 ExpressServerRequest 的实例上定义,并且没有以其他方式定义。可以在 TypeScript 中捕获这种行为吗?

4

1 回答 1

1

如果您要扩展的项目是一个接口,它们在 TypeScript 中是打开的,所以您可以像这样添加额外的:

interface ExpressServerRequest {
    myAdditionalThing(): void;
}

有很多方法可以声明任何东西,所以如果这不是您的案例的技巧,只需发布​​现有的 ExpressServerRequest,我将更新示例。我检查的 express.d.ts 的版本肯定有类型有 ExpressServerRequest 作为接口。

于 2013-08-23T16:46:24.353 回答