gpt4 book ai didi

typescript - Typescript 的类型定义管理系统(如 tsd)的最佳解决方案是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:37:31 25 4
gpt4 key购买 nike

在使用Typescript时,我们需要考虑如何解析类型定义文件(*.d.ts)。

据我所知,管理typescript定义系统的系统有以下几种。

  • 学习成绩
  • 打字
  • @类型

我想 tsd 是最古老的,那就是 origin。但是,为什么 typings 需要诞生?我想为打字制作定义文件有点复杂。

@types 实际上是什么?

那么,最好的解决方案是什么?

最佳答案

围绕 TypeScript 的打字管理生态系统背后的故事非常重要。

首先有(现在仍然是)一个名为 DefinitelyTyped 的单体存储库。它被用作所有想要为不同库贡献类型的开发人员的中心。

因为这个存储库,一个名为 tsd 的类型管理器直接从该存储库中获取类型并将它们保存在您的项目中。

与此同时,DT 存储库超出了它的扩展能力并且 had to be restructured .讨论进一步讨论了 d.ts. 文件应该是什么样子,所以有一次需要另一种方法来将类型包括在您的项目中。另一个问题是库和 TypeScript 编译器本身的版本控制。

然后在某一时刻Blake Embrey创建了一个名为 typings 的新类型管理器,它支持 DefinitelyTyped 和新提议的构建 d.ts 的方法。新结构允许两种类型的模块 - 全局变量(大多数 DefinitelyTyped 模块)和应该被封装的模块。

后来TypeScript 2.0 Beta由微软宣布。 TypeScript 背后的团队意识到需要一种不同的方式来处理输入文件。他们所做的是一个 @types npm 作用域,they announced will be the new way of handling typings .目前 @types 仅适用于 TypeScript 2.0。

Declaration files (.d.ts files) are a fundamental part of using existing JavaScript libraries in TypeScript, but getting them has always been a place where we’ve known there was room for improvement. As we get closer to TypeScript 2.0, we’re very excited to show off a sneak peak of our plan to simplify things. Getting type declarations in TypeScript 2.0 will require no tools apart from npm.

所以回答你的问题:

如果您使用低于 v2.0 的 TypeScript,请使用 typings,但如果您使用 2.0,请使用 @types

关于typescript - Typescript 的类型定义管理系统(如 tsd)的最佳解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com