2017-04-26 43 views
3

我是新来的TypeScript,仍然试图找出它。我有一个使用jQuery版本3.2.1的示例Visual Studio项目,我想让TypeScript类型定义可用于我的项目。如何获取特定版本的Jquery,例如3.2.1的TypeScript定义文件?

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

在该网页上我读到

NPM
这是首选的方法。这仅适用于TypeScript 2.0+用户。例如:

NPM安装--save-dev的@类型/节点

所以它似乎我只需要键入npm install --save-dev @types/jquery获得通过NPM下载jQuery的类型定义文件。但后来我问自己,嗯,我想知道如果每个人都在输入相同的命令而不管jQuery版本是什么版本的jquery类型定义文件。于是我走到npm site检查和奇怪它说

此包包含类型定义的jQuery 1.10.x /(http://jquery.com/)。

还没有,最后更新是“最后更新:周六,2017年3月11日00:13:28 GMT”。

所以,只是看起来很奇怪,为什么会有一个最新的npm模块的更新为jQuery 1.10.x?为什么最新版本的npm上的jquery类型def适用于这样一个旧版本的jquery? 2.0也许但是1.10.x?所以我在猜测这些类型的defs可能是最新最好的,而维护npm包的人不会更新摘要?但我如何确认?我下载了这个模块,试图从那个版本的jquery中辨别出这个类型的版本,但是无法确定。

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

+0

如果打开[中index.d .ts文件在GitHub上(最新版本)](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/jquery/index.d.ts),第一行说* jQuery 1.10的类型定义。 x/2.0.x *。没有为更高版本创建的类型。关于jQuery 3类型的讨论,参见[DefinitelyTyped GitHub上的这个问题](https://github.com/DefinitelyTyped/DefinitelyTyped/issues/15733)。 –

+0

看到了,但它对我没有意义,类型defs可以同时用于1.10.x和2.x。 :-)你的链接到github问题是提供信息。如果您发表评论作为答案并指出jQuery 3.x没有typedef,我会接受它。 –

回答

1

你现在得到的类型是jQuery类型的最新版本。

1.10.x和2.0.x之间没有太多变化,所以类型定义对两者都适用。

an issue on GitHub其中有人要求为jQuery 3.x的新定义。不幸的是,没有人自愿为jQuery的后续版本添加类型定义,所以他们会留在那些旧版本,直到有人做。

2

可打印使用这两个命令的一个具体NPM包的所有版本:

npm view package-name versions

OR

npm i [email protected](你会得到一个错误,但它打印所有可用的版本)

然后只需运行安装特定的版本:

npm i [email protected]


所以jQuery的类型你可以运行:

npm view @types/jquery versions

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

npm install --save-dev @types/[email protected]

+0

这很酷,但是没有任何方法可以知道npm包@type/jquery @ 2.0.41适用于哪个版本的jquery。 (叹) –

5

嗨有点晚了这一点,但这个是我发现我在index.d.ts文件看了之后,在第一行的注释指出兼容的jQuery版本。

npm install @types/[email protected]将让你的JQuery 1.x的定义

npm install @types/[email protected]将让你的JQuery 2.x的定义

npm install @types/[email protected]将让你的JQuery 3.x的定义

相关问题