kya*_*bal 7 typescript tsd typescript-typings
在使用Typescript时,我们需要考虑如何解析类型定义文件(*.d.ts).
只要我知道,有几个系统用于管理打字稿定义系统,如下所示.
我猜tsd是最古老的,也就是起源.但是,为什么typings需要出生?我猜制作打字的定义文件有点复杂.
什么是@types实际?
那么,围绕这个的最佳解决方案是什么?
TypeScript的打字管理生态系统背后的故事非常大.
首先,(仍然是)一个名为DefinitelyTyped的monolith存储库,它被用作所有想要为不同库提供其输入的开发人员的中心.
由于这个存储库,一个打字管理器调用tsd它直接从该存储库中获取类型并将它们本地保存在项目中.
同时DT repo超出了它的扩展能力,必须进行重组.讨论更进一步说明了d.ts.文件的外观,所以有一点需要另外一种方法来在项目中包含类型.另一个问题是库和TypeScript编译器本身的版本控制.
然后,布莱克·艾布里(Blake Embrey)创造了一个新的打字经理typings,该经理被称为支持DefinitelyTyped和新提出的构建方式d.ts.新结构允许两种类型的模块 - 全局变量(大多数是DefinitelyTyped模块)和应该封装的模块.
后来的TypeScript 2.0 Beta由微软公布.TypeScript背后的团队意识到需要以不同的方式处理打字文件.他们所做的是一个@typesnpm范围,他们宣布将是处理打字的新方式.此时@types仅适用于TypeScript 2.0.
声明文件(.d.ts文件)是在TypeScript中使用现有JavaScript库的基本部分,但获取它们一直是我们知道存在改进空间的地方.随着我们越来越接近TypeScript 2.0,我们非常高兴能够展示我们计划简化的最高峰.在TypeScript 2.0中获取类型声明除了npm之外不需要任何工具.
所以回答你的问题:
如果使用TypeScript低于v2.0使用typings,但如果使用2.0则使用@types