指定 Typescript 类型定义版本

Specifying Typescript Type Definition Versions

我是 TypeScript 的新手,有点困惑。如果我的 TypeScript 版本是 1.0.1(假设我卡在 VS2012 上),我如何使用 tsd 查找库的类型定义,因为我需要 tsc 1.0.1。

如果没有版本信息,我会经常得到 tsc1.4 的类型定义。

我想在 tsd 中一定有办法做到这一点,但我一直没能弄明白。

干杯!

how do I use tsd to find type definitions for a library that given I require tsc 1.0.1

不容易。您需要 运行 tsd install somedefinitionyoucareabout -soa,然后将 tsd.json 中保存的 git sha 更改为来自 1.x 分支的某些内容:https://github.com/borisyankov/DefinitelyTyped/tree/1.0.1

也就是说 你真的应该考虑更新到最新的 TypeScript

如果您尝试使用 tsd 下载旧版本 TypeScript 的 TypeScript 类型定义,您可以执行以下操作。

如果您查看 tsd.json 内部,您会看到密钥 "ref",它被设置为 "master"

{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "master",
  ...
}

这是指 borisyankov/DefinitelyTypedmaster 分支。

还有 borisyankov/DefinitelyTyped 的其他分支,例如 1.0.1,它针对以前版本的 TypeScript。

只需修改 tsd.json 以指向另一个分支,它将检索特定于该版本的 TypeScript 的类型定义。

{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "1.0.1",
  ...
}

完成此操作后,您可以使用 --save 安装类型定义并检查 tsd.son 中的提交哈希以确认。