【问题标题】:Typescript @types definition, interfaces and "new"Typescript @types 定义、接口和“新”
【发布时间】:2019-06-09 14:41:53
【问题描述】:

我有一个我使用的 javascript 库的 @types (typings) 包装器。我想使用构造函数 (new) 和实例,然后使用它,但我对库的类型定义是否支持它感到困惑,如果它不正确的语法是什么开始通过提供的类型定义使用库。

这是类型定义包的link

简而言之,我想使用一个接口,它似乎有一个通过另一个接口定义的构造函数

interface Mailgun { ... }

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

我想做如下的事情:

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

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

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

【问题讨论】:

    标签: typescript typescript-typings


    【解决方案1】:

    您可以这样做,但您需要使用import module = require("module") 语法来导入模块,因为它的导出是使用export= 定义的。

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

    这将按预期工作;

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

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 2017-08-13
      • 2015-07-27
      • 2020-11-24
      • 1970-01-01
      • 2019-10-11
      • 2017-02-25
      • 2020-05-19
      • 2019-02-22
      相关资源
      最近更新 更多