TypeScript NPM软件包依赖于环境模块的正确方法是什么?

时间:2016-04-14 20:56:26

标签: typescript

我有一个TypeScript包,它从eventemitter3 JavaScript包中继承EventEmitter。因为EE3不是用TypeScript编写的,所以我通过Typings将其模块定义安装为环境依赖。

我只花了过去一小时阅读TS继承和类,因为我试图使用我的包,并且不断收到在EventEmitter的子类上缺少on的错误。最终我意识到我的消费项目还需要运行typings install --ambient eventemitter3,以便它具有超类定义

有没有办法隐藏这个实现细节来消费包?即要么自动将eventemitter3声明转储到我自己的包的lib / index.d.ts中,要么在有人消耗我的包时以某种方式安装这个环境依赖?

我认为这不是this question的副本,因为我认为作者正在做的是使用已经定义了自己的声明的NPM包。在我的例子中,我正在构建一个基于TypeScript的NPM包,它提供了自己的声明,但它从Typings中提取了环境声明。

如果有帮助,我正在建设的项目是here。 TypeScript的新功能,这是我第一次通过所有非错误编译器错误进行销售,因此请轻松查看我缺少的/ any类型。 :)

1 个答案:

答案 0 :(得分:0)

  

有没有办法隐藏这个实现细节来消费包

没有。它与node.d.ts相同。这是用户需要获得的东西,你需要提到他们需要得到的东西。