【发布时间】:2016-04-15 08:04:17
【问题描述】:
我有一个 TypeScript 包,它从 eventemitter3 JavaScript 包中继承了 EventEmitter。因为 EE3 不是用 TypeScript 编写的,所以我通过 Typings 将其模块定义安装为环境依赖项。
我刚刚花了一个小时阅读 TS 继承和类,因为我试图使用我的包并不断收到 on 在 EventEmitter 的子类上丢失的错误。最终我意识到我的消费项目还需要运行 typings install --ambient eventemitter3 以便它具有超类定义
有什么方法可以隐藏这个实现细节而不让使用包? IE。要么将 eventemitter3 声明自动转储到我自己的包的 lib/index.d.ts 中,要么在有人使用我的包时以某种方式安装此环境依赖项?
我不认为这是 this question 的重复,因为我认为作者在那里所做的是使用已经定义了自己的声明的 NPM 包。在我的例子中,我正在构建一个基于 TypeScript 的 NPM 包,它提供自己的声明,但会从 Typings 中引入环境声明。
如果有帮助,我正在构建的项目是 here。 TypeScript 新手,这是我第一次解决所有非错误编译器错误,所以请轻松处理我的缺失/any 类型。 :)
【问题讨论】:
标签: typescript