代码之家  ›  专栏  ›  技术社区  ›  Mike Marshall

typescript@types定义、接口和“new”

  •  2
  • Mike Marshall  · 技术社区  · 6 年前

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

    这里是 link 到类型定义包

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

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

    我想做如下的事情:

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

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

    类型定义文件是否允许我使用 新的 或者它只是在JavaScriptAPI之上添加类型?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Titian Cernicova-Dragomir    6 年前

    你可以做到,但你需要 import module = require("module") 导入模块的语法,因为其导出是使用 export= .

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

    这将按预期工作;

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