打字稿类型定义版本

时间:2015-04-23 10:23:32

标签: javascript typescript

我遇到类型定义(td)版本问题。有人可以向我解释为什么当前的指南强制使用所有版本的类型定义版本,但是最新版本以及为什么他们没有说明为它们所依赖的类型定义指定版本?

我将解释我的困惑:我现在面临的问题是,browserify td不适用于最新的node td(但它适用于v0.11.0)。根据当前的指导原则,如何编写引用另一个td的td,确保对引用的td的新更新不会制动他们的?我现在看不到办法。作为最终用户,我现在唯一的解决方案是手动更改browserify td以引用不会破坏它的node版本。对我来说,这听起来不是一个理想的场景。

1 个答案:

答案 0 :(得分:1)

这次讨论有两个有趣的方面。

第一个问题是定义会随着TypeScript语言的新版本的出现而更新,其功能使定义更容易,更准确。一个很好的例子就是联合类型。

第二个问题是第三方库不断更新,因此定义随库移动。

如果您正在使用“几乎所有内容中的最新内容”,这一切都很好,但如果您正在寻找组合,那么它将变得不可能(即使用jQuery 1.9的TypeScript 1.1)。

您通常可以通过查看更改来查看定义的历史记录,因此如果您需要较旧版本的库,您可以找到它 - 但您可能会偶然发现TypeScript语言问题。例如,如果您想使用相当旧版本的库,您可能会发现.d.ts使用bool而不是boolean,并且需要在编译之前进行更新。

与此相关的绝对类型有两个相关问题:

https://github.com/borisyankov/DefinitelyTyped/issues/3031

https://github.com/borisyankov/DefinitelyTyped/issues/2972