2017-05-05 3 views
1

Ich frage mich, ob es eine Möglichkeit gibt, die neueste Version eines NPM-Pakets mit clientseitigen JavaScript zu erhalten. Ich habe mich nach APIs und ähnlichem umgeschaut, aber ich konnte nichts finden, was nicht veraltet ist.Get NPM-Version-Tag mit clientseitigen Javascript

Ich bin mir jedoch ziemlich sicher, dass es möglich ist, da shields.io genau das für mehrere Pakete tut.

Was ich tun möchte, ist das aktuelle Versionstag wie es ist (z. B. v1.2.5) im String- oder JSON-Format.

Antwort

3

Sie können die npm-Registrierung mit Ihrer AJAX-Methode Ihrer Wahl aufrufen. Die URL für ein bestimmtes Paket ist die Basisregistrierungs-URL http://registry.npmjs.org mit dem Paket als Pfad, d.h. http://registry.npmjs.org/styled-components.

Wenn Sie diese zweite URL auschecken, sehen Sie ein JSON-Dokument, das alle Informationen enthält, die Sie für dieses Paket benötigen, einschließlich der neuesten Version.

Beispielcode:

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

ich die letzte Zeile des Codes bearbeitet haben [in Einklang mit dieser bearbeiten vorgeschlagen] (https://meta.stackoverflow.com/q/348881/6650102). Lassen Sie mich wissen, wenn dies nicht das war, was Sie beabsichtigten, aber ziemlich sicher, dass es nur ein Tippfehler ist (Sie können Eigenschaften nicht mit '-' in ihnen die Punktsyntax erhalten) – Aurora0001

+1

Dank @ Aurora0001. Das war in der Tat ein Tippfehler von mir und ich begrüße den Änderungsantrag. –

+0

@JamieDixon Kein Problem - Sie sollten DaftKauries (siehe den Link in meinem vorherigen Kommentar) danken, der das Problem entdeckt hat! – Aurora0001

Verwandte Themen