Typescript @types定义,接口和“新”

时间:2019-01-15 14:54:42

标签: typescript typescript-typings

我为我使用的javascript库提供了@types(类型)包装。我想使用构造函数(new)和实例,然后再使用它,但是我对库的类型定义是否甚至支持它,以及如果它不支持正确的语法感到困惑通过提供的类型定义开始使用库。

这是类型定义包的link

为简单起见,我想使用一个接口,该接口似乎通过另一个接口定义了一个构造函数。

interface Mailgun { ... }

interface MailgunExport {
    new (options: ConstructorParams): Mailgun;
... }

我想做以下事情:

var mgClient : Mailgun = new Mailgun(...);

但是我不认为这是真的。我正在用Typescript编写Node应用程序,并希望尽可能地坚持使用类型定义(而不是计划javascript)。

定义的类型定义文件是否允许我使用new实际构造对象,还是仅在javascript API之上添加类型?

1 个答案:

答案 0 :(得分:2)

您可以执行此操作,但是由于模块的导出是使用import module = require("module")定义的,因此您将需要export=语法来导入模块。

您可以在文档here中阅读更多内容。

这将按预期工作;

import Mailgun = require('mailgun-js')
var mgClient = new Mailgun({

});