扁平化 TypeScript 类型或接口?

Flattening TypeScript typings or interfaces?

作为 TypeScript 开发人员,我已经习惯了在处理 .d.ts 文件时遇到 "Duplicate identifier" 问题。

最近,发生这种情况是因为我需要 Angular 2 的类型(.d.ts 文件)和 Parse。

Angular 2 不通过 DefinitelyTyped 分发他们的 .d.ts 文件,所以我不得不通过 NPM 获取 Angular 2,其中也包括源文件。

现在,Parse 的 .d.ts 个文件来自 DefinitelyTyped。很好 - 到目前为止,还不错。

然后问题就出现了,因为这两个库都依赖于 Node JS 类型。 Parse 的 Node JS 类型位于 typings 文件夹中,而 Angular 2 的 Node JS 类型位于 node_modules/angular2.

下的子文件夹中

这让我在编译时遇到大量重复标识符问题。

那么,大问题

没有官方工具可以压缩 .d.ts 文件或我所知道的任何其他文件。您的(或类似)问题有很多报告的问题:

Angular 团队是 working on the issue

作为解决方法,我会简单地注释掉 ///<reference> 导致您出错的注释并等待错误修复。