在第三方定义文件中扩展类

时间:2017-08-08 20:26:25

标签: typescript

我为我编写的非ts库提供了一个打字稿定义文件。我的库将EventEmitter2扩展为“本机”事件系统,因此我正在尝试确定如何定义:

/// <reference types="eventemitter2" />

declare module "my-module" {
  class MyClass extends EventEmitter2 {
    // ...
  }
}

......这不起作用。 EventEmitter2提供了一个d.ts文件,因此它应该可用,但我得到的错误是:

Cannot find name 'EventEmitter2'

我没有足够的工作来知道我哪里出错了。我试过阅读文档/寻找示例,但似乎没有解决这类问题。

1 个答案:

答案 0 :(得分:1)

您可以从eventemitter2导入类型声明,而不是使用三斜杠指令:

import { EventEmitter2 } from 'eventemitter2';

declare module "my-module" {
  class MyClass extends EventEmitter2 {
    // ...
  }
}

三重斜杠指令不起作用,因为.d.ts文件位于模块本身且不在node_modules/@types下。