„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Erstellen und veröffentlichen Sie eine NPM-Bibliothek mit TypeScript und semantischer Versionierung

Erstellen und veröffentlichen Sie eine NPM-Bibliothek mit TypeScript und semantischer Versionierung

Veröffentlicht am 07.11.2024
Durchsuche:112

? Schreiben und veröffentlichen Sie einen minimalen Code

Um eine Bibliothek auf npm zu veröffentlichen, benötigen Sie:

  1. Ein npm-Konto; Hier können Sie sich anmelden.

  2. Ihr Code als Projekt; Das heißt, Sie haben eine package.json in Ihrem Codeverzeichnis, in der Name und Version angegeben sind. Beachten Sie, dass Sie diese Datei über Folgendes generieren können:

npm init
  1. Eine index.js in Ihrem Projekt. Denken Sie daran, dass Sie Ihre Funktion exportieren müssen, damit Benutzer sie importieren können.

Hinweis: Wenn Ihr Skript nicht index.js heißt und im Projektstammverzeichnis abgelegt wird, müssen Sie die Eigenschaft „main“ in package.json angeben. Weitere Informationen finden Sie in dieser Antwort.

Und wenn der Name auf npm übernommen wurde, können Sie ein Präfix wie @name-or-org/your-lib hinzufügen; Das machen heutzutage die meisten anderen Bibliotheken.

Sie können sich mein Minimalbeispiel als Referenz ansehen, aber ich glaube, Sie können etwas Cooleres als das schreiben.

Create and publish an npm library, with TypeScript and Semantic Versioning

Veröffentlichen Sie es abschließend mit dem CLI-Befehl:

npm publish

Create and publish an npm library, with TypeScript and Semantic Versioning

Hinweis für Personen, die den Paketnamen mit einem Präfix festlegen: Es MUSS Ihr npm-Benutzername oder Organisationsname sein, den Sie bei npm registriert haben. Beispielsweise kann ich @remi_guan als Präfix verwenden, andere jedoch nicht.

Außerdem müssen Sie npm publizieren --access public ausführen, da npm denkt, dass Sie ein privates Paket veröffentlichen möchten, was eine kostenpflichtige Funktion ist.

Diese Ausgabe bedeutet, dass es erfolgreich war. Wenn Sie jedoch auf Probleme stoßen, können Sie bei Google nach einer Fehlerbehebung suchen. Und so können Sie Ihre eigene Bibliothek nutzen:

Create and publish an npm library, with TypeScript and Semantic Versioning

Wenn Sie dieser Anleitung gefolgt sind, versuchen Sie es stattdessen bitte mit Ihrer eigenen Bibliothek.

Ich habe auch herausgefunden, dass @backendbro eine sehr detaillierte Anleitung als diese hat, falls Sie mehr wissen möchten.

Nachdem Sie Ihren Code veröffentlicht haben und den Code aktualisieren möchten, können Sie npm Publish erneut ausführen. Vor der Veröffentlichung sollten Sie jedoch die Versionseigenschaft von package.json aktualisieren und die semantische Versionierung einhalten.

Ich empfehle Ihnen, es auszuprobieren! Können Sie die Version 1.0.1 oder 1.1.0 Ihrer Bibliothek veröffentlichen und in einem anderen Projekt verwenden, wie ich es gerade getan habe? Können Sie herausfinden, wie Sie die Version Ihrer NPM-Bibliothek aktualisieren können?

? Verwenden Sie TypeScript

Diese Bibliothek, die wir bisher erstellt haben, ist nicht modern, ihr fehlt die Typdeklaration, sodass Personen, die Ihre Bibliothek verwenden, nicht durch Eingabe hervorgehoben werden können. Außerdem wird TypeScript häufig mit ECMAScript-Syntax verwendet. Um mehr über den Unterschied zu erfahren: Node.js-Module: CommonJS vs. ECMAScript von Saisathish

Aber ich werde die detaillierte Einrichtung von TypeScript in diesem Beitrag überspringen. Es gibt viele gute Tutorials, um zu lernen, wie man ein TypeScript-Projekt initialisiert, wie zum Beispiel „How to Develop a TypeScript Library“ von inapeace0.

Darüber hinaus können Sie ein TypeScript-Vorlagen-Repository wie alexjoverm/typescript-library-starter verwenden, das bereits viele moderne Tools, Best Practices usw. integriert hat.

Ich möchte nur einige wichtige Hinweise erwähnen, wenn Sie eine TypeScript-Bibliothek veröffentlichen:

  1. Erstellen Sie, bevor Sie es veröffentlichen. Wenn Sie es öffentlich veröffentlichen müssen, können Benutzer mit der gängigsten Node.js-Umgebung nur .js-Dateien ausführen. Sie müssen Ihren Code also mit tsc, rollup (oder vite, das Rollup verwendet) oder webpack kompilieren; jedem geht es gut.

Sie müssen korrekt auf die kompilierte Datei verweisen, indem Sie Modul-, Haupt- oder Eintragseigenschaften in package.json verwenden. Es ist eine gute Wahl, eine Vorlage zu verwenden und sie einzeln zu erlernen. Auch hier hat alexjoverm/typescript-library-starter sie gut spezifiziert.

  1. Fügen Sie eine .d.ts-Datei hinzu. Aus dem gleichen Grund benötigt der Benutzer auch Zugriff auf die Typsignaturen.

Aber wenn Sie sicher sind, dass Ihre Bibliothek auf Deno, Bun oder ts-node läuft, können Sie meine obigen Richtlinien ignorieren, da sie die native Ausführung von TypeScript-Code unterstützen.

Bitte versuchen Sie, einer Anleitung zu folgen, um eine TypeScript-Bibliothek zu erstellen und sie auf npm zu veröffentlichen. Es ist immer noch einfach, wie das erste Beispiel. Sie sollten es mit einem anderen Projekt unter Verwendung der Importsyntax testen und Sie können Typhinweise mit einer IDE sehen.

Mit TypeScript kann ich meine Bibliothek in dieser Syntax schreiben:

Create and publish an npm library, with TypeScript and Semantic Versioning

Und nach der Veröffentlichung kann ich es installieren und importieren und dank TypeScript die Typhinweise sehen.

Create and publish an npm library, with TypeScript and Semantic Versioning

✨ Semantische Versionierung

Es gibt ein häufiges, aber etwas fortgeschrittenes Problem, das darauf wartet, gelöst zu werden: Jedes Mal, wenn wir unser Paket aktualisieren, müssen wir den Versionscode bearbeiten.

Das ist ärgerlich, insbesondere wenn Sie Ihren Code häufig aktualisieren.

Es gibt jedoch Tools, die Ihnen helfen können.

  • Semantic-Release: Vollautomatisch; Sie können es in GitHub CI integrieren, um den Versionscode jedes Mal automatisch zu aktualisieren und auf npm zu veröffentlichen, wenn Sie Ihren Code auf GitHub aktualisieren.
  • release-it: Hilft Ihnen auch dabei, die Version zu verbessern, ist aber einfach zu verwenden (keine CI-Kenntnisse erforderlich); In der Zwischenzeit konfigurieren Sie es nicht als vollautomatisch.

Create and publish an npm library, with TypeScript and Semantic Versioning

Ich habe ChatGPT verwendet, um diese Zusammenfassung zu erstellen und die beiden Tools zu vergleichen. Für neue Programmierer würde ich empfehlen, dass Sie Release-it ausprobieren, aber Semantic-Release ist auch praktisch, wenn Sie wissen, wie man es in CI integriert.

In diesem Beitrag zeige ich Ihnen, wie Sie release-it verwenden. Nachdem Sie Änderungen am Projekt vorgenommen haben, führen Sie einfach Folgendes in Ihrem Projekt aus:

npx release-it

Und wählen Sie, ob es sich um eine kleine oder große Änderung handelt, dann sind Sie fertig!

Create and publish an npm library, with TypeScript and Semantic Versioning


Zusammenfassung

Da haben Sie es also! Wir haben eine einfache NPM-Bibliothek veröffentlicht, aktualisiert und sogar TypeScript verwendet, um sie moderner und robuster zu machen. Denken Sie daran:

  • Exportieren Sie Ihre Funktionen ordnungsgemäß, damit andere sie verwenden können.
  • Aktualisieren Sie Ihre Versionsnummern gemäß der semantischen Versionierung.
  • Erwägen Sie die Verwendung von TypeScript für eine bessere Typsicherheit und Entwicklererfahrung.
  • Automatisieren Sie Ihre Releases mit Tools wie release-it oder semantic-release, um Zeit zu sparen.

Probieren Sie es aus! Veröffentlichen Sie Ihre eigene Bibliothek, aktualisieren Sie sie und sehen Sie, wie es sich anfühlt, zum npm-Ökosystem beizutragen. Viel Spaß beim Codieren!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/remi-guan/create-and-publish-an-npm-library-with-typescript-and-semantic-versioning-9l?1 Wenn es einen Verstoß gibt, bitte Kontaktieren Sie Study_golang@163 .comdelete
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3