如何为ts创建打字

时间:2016-07-10 12:48:38

标签: typescript typescript1.8 typescript-typings

我在node_modules/安装了一个库,我想快速入侵,所以我可以在打字稿应用程序中使用它。在文件夹typings/modules中,我创建了一个包含模块名称和index.d.ts文件的文件夹。在我的文件里面

declare module "lib-name" {
  export default class Logger {
    constructor(namespace: string)
  }
}

我可以导入该模块,但当我尝试let l = new Lib('namespace');时,我收到错误cannot use 'with' an expression whose type lacks a call or construct signature

1 个答案:

答案 0 :(得分:1)

我认为你的打字中不应该class。这是你应该申报的接口合同。

此外,文档说新表达式在界面中需要new方法:https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html

尝试类似这样的事情:

declare module "lib-name" {
  interface Logger {
    new (namespace: string): Logger
  }

  export var Logger: Logger;
}