2017-04-26 51 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的定義

相關問題