2017-05-05 54 views
1

我想知道是否有任何方法使用客戶端JavaScript獲取NPM包的最新版本標記。我四處尋找API和類似的東西,但我找不到任何不被棄用的東西。使用客戶端獲取NPM版本標記javascript

但是,我非常確定可以這樣做,因爲shields.io完全適用於多個軟件包。

我想要做的是按照原樣獲取最新版本標籤(例如v1.2.5),不管是字符串還是JSON格式。

回答

3

您可以使用您選擇的AJAX方法調用npm註冊表。

給定包的URL是基本註冊表URL http://registry.npmjs.org,其中包作爲路徑,即http://registry.npmjs.org/styled-components

如果檢出第二個URL,您將看到一個JSON文檔,其中包含所需的所有信息,包括最新版本。

示例代碼:

const res = await fetch('http://registry.npmjs.org/styled-components'); 
const json = await res.json(); 
console.log(json['dist-tags'].latest) // latest distributed version 
+0

我已經編輯你的代碼的最後一行[符合這一建議編輯](https://meta.stackoverflow.com/q/348881/6650102)。讓我知道這是不是你想要的,但很確定這只是一個錯字(你不能使用點語法在它們中使用'-'來獲取屬性) – Aurora0001

+1

Thanks @ Aurora0001。這確實是我的錯字,我讚賞這項修正案。 –

+0

@JamieDixon沒問題 - 您應該感謝DaftKauries(請參閱我以前的評論中的鏈接)發現問題! – Aurora0001