我为我编写的一个非TS库提供了一个打印脚本定义文件。我的库将EventEmitter2扩展为一个“本机”事件系统,因此我试图确定如何定义它:

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

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

…这不管用。EVECTEMITTR2提供了一个d.ts文件,所以它应该是可用的,但是我得到的错误是:
Cannot find name 'EventEmitter2'
我没有足够的时间去了解我的错误所在。我试过阅读文档/寻找示例,但似乎没有解决这类问题。

最佳答案

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

import { EventEmitter2 } from 'eventemitter2';

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

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

07-24 09:43