如何获取特定版本 Jquery 的 TypeScript 定义文件,例如 3.2.1?

How to get TypeScript definitions file for a particular version of Jquery, ex 3.2.1?

我是 TypeScript 的新手,仍在努力弄明白。我有一个使用 jquery 版本 3.2.1 的示例 visual studio 项目,我想让 TypeScript 类型定义可用于我的项目。

从互联网上看,这些类型定义的权威来源似乎是 https://github.com/DefinitelyTyped/DefinitelyTyped

我在那个页面上阅读

npm
This is the preferred method. This is only available for TypeScript 2.0+ users. For example:

npm install --save-dev @types/node

所以看起来我只需要输入 npm install --save-dev @types/jquery 就可以通过 npm 下载 jquery 类型定义文件。但后来我问自己,嗯,我想知道如果每个人都输入相同的命令而不考虑 jquery 版本,那么类型定义文件将适用于哪个版本的 jquery。所以我去 npm site 查看,奇怪的是它说

This package contains type definitions for jQuery 1.10.x / (http://jquery.com/).

然而,最后一次更新是 "Last updated: Sat, 11 Mar 2017 00:13:28 GMT"。

所以这看起来很奇怪,为什么最近更新了一个用于 jquery 1.10.x 的 npm 模块?为什么 npm 上最新版本的 jquery type def 会用于如此旧版本的 jquery? 2.0 也许但是 1.10.x?所以我猜也许这些类型定义是最新和最好的,而维护 npm 包的人只是没有更新摘要?但我如何确认呢?我下载了该模块,并试图从中辨别类型定义适用于 jquery 的哪个版本,但无法确定。

所以这是我的问题。一个人如何获得特定版本 Jquery 的 TypeScript 定义文件,例如 3.2.1?

您现在获得的类型是 jQuery 类型的最新版本。

1.10.x 和 2.0.x 之间没有太多变化,因此类型定义适用于两者。

an issue on GitHub 中有人要求 jQuery 3.x 的新定义。不幸的是,没有人自愿为 jQuery 的更高版本添加类型定义,因此他们将保留那些旧版本,直到有人这样做。

您可以使用以下两个命令之一打印特定 npm 包的所有版本:

npm view package-name versions

npm i package-name@whatever(你会得到一个错误,但它会打印所有可用的版本)

然后通过 运行ning 安装特定版本:

npm i package-name@version


所以对于 jquery 类型你会 运行:

npm view @types/jquery versions

您看到所有的版本(目前最新的2.0.41)。您安装特定版本:

npm install --save-dev @types/jquery@2.0.41

你好,有点晚了,但这是我在查看 index.d.ts 文件后发现的,第一行的注释说明了兼容 JQuery.[=13= 的版本]

npm install @types/jquery@1.x 会给你 JQuery 1.x 定义

npm install @types/jquery@2.x 会给你 JQuery 2.x 定义

npm install @types/jquery@3.x 会给你 JQuery 3.x 定义