JavaScript >> Javascript-Tutorial >  >> Tags >> npm

So veröffentlichen Sie Pakete in npm (wie die Industrie die Dinge macht)

Es ist einfach, ein Paket auf npm zu veröffentlichen. Es gibt zwei Schritte:

  1. Erstellen Sie Ihr Paket.
  2. Veröffentlichen Sie das Paket.

Aber Pakete veröffentlichen, wie es die Industrie tut? Nicht so einfach. Es gibt noch mehr Schritte. Wir erklären Ihnen, welche Schritte erforderlich sind, und ich zeige Ihnen eine einfache Möglichkeit, Ihr Paket zu veröffentlichen und zu aktualisieren.

Erstellen Ihres ersten Pakets

Dieser Abschnitt ist für Sie, wenn Sie noch nie ein Paket für npm veröffentlicht haben. Fühlen Sie sich frei, zum nächsten Abschnitt zu springen, wenn Sie bereits einen veröffentlicht haben.

Um Ihr erstes Paket in npm zu veröffentlichen, müssen Sie die folgenden Schritte ausführen:

Zuerst benötigen Sie ein npm-Konto . Erstellen Sie hier eine, falls Sie noch keine haben.

Zweitens müssen Sie sich über die Befehlszeile bei Ihrem npm-Konto anmelden . (Sie müssen Node und npm auf Ihrem System installiert haben, bevor Sie diesen Schritt ausführen. Installieren Sie sie hier).

Zur Anmeldung verwenden Sie npm login .

npm login

Sie werden aufgefordert, Ihren Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse einzugeben.

Drittens müssen Sie ein Paket erstellen . Erstellen Sie dazu irgendwo auf Ihrem Computer einen Ordner und navigieren Sie dorthin. Die Befehlszeilenversion ist:

# Creating a folder named how-to-publish-to-npm mkdir how-to-publish-to-npm # Navigating into the folder cd how-to-publish-to-npm

Als nächstes möchten Sie das Projekt mit der npm init beginnen Befehl.

npm init

Dieser Befehl führt Sie durch einige Fragen und erstellt einen package.json Datei für Sie am Ende. Diese package.json Datei enthält das Nötigste, was Sie zum Veröffentlichen Ihres Projekts benötigen. (Fühlen Sie sich frei, Fragen zu überspringen, die keinen Sinn ergeben).

Der letzte Schritt ist die Veröffentlichung Ihres Pakets mit dem npm publish Befehl.

npm publish

Wenn das Paket bereits auf npm existiert (weil Ihr Paket denselben Namen wie ein anderes Paket auf npm hat), können Sie es nicht veröffentlichen. Sie erhalten eine Fehlermeldung.

Sie müssen Ihren Paketnamen ändern.

Um Ihren Paketnamen zu ändern, ändern Sie den name -Eigenschaft in package.json Datei. Hier habe ich es in publishing-to-npm geändert .

(Sie können nach Namenskollisionen suchen, indem Sie eine Suche in npm durchführen oder über npm search Befehl).

Es ist auch eine gute Idee, den Ordnernamen aus Gründen der Konsistenz zu aktualisieren. Hier ist das Kommandozeilen-Äquivalent.

# Command to change folder names by moving everything mv how-to-publish-to-npm publishing-to-npm

Versuchen Sie es mit publish erneut befehlen. Sie sollten jetzt eine Erfolgsmeldung erhalten.

Was zu tun ist, wenn alle Namen, die dir eingefallen sind, bereits vergeben sind

Dies ist ein häufiges Problem, da viele Leute Pakete auf npm erstellen. Manchmal ist es schwierig, den gewünschten Paketnamen zu erhalten. (So ​​kann ich nie finde einen guten .com Domäne).

Um dieses Problem zu bekämpfen, können Sie mit npm in einem Bereich veröffentlichen. Das bedeutet, dass Sie das Paket unter Ihrem eigenen Benutzernamen (oder Ihrer npm-Organisation) veröffentlichen können, sodass Sie keine Namensprobleme haben.

Um in einem Bereich zu veröffentlichen, haben Sie folgende Möglichkeiten:

  1. Ändern Sie den name bis @username/package-name manuell in package.json
  2. Führen Sie npm init --scope=username aus statt npm init

Wenn Ihr Repository einen Geltungsbereich hat, müssen Sie den Veröffentlichungsbefehl leicht anpassen:

npm publish --access public

Das ist alles, was Sie tun müssen, um ein Paket in npm zu veröffentlichen.

Kommen wir nun dazu, wie die Industrie Pakete veröffentlicht.

Betrachten Sie ein beliebtes Framework wie React. Wenn Sie sich in React umsehen, werden Ihnen einige Dinge auffallen:

Erstens hat React ein Github-Repository.

Zweitens wird React auf npm veröffentlicht.

Drittens folgt React der semantischen Versionierung (kurz Semver).

Viertens ist jedem Update von React ein Git-Tag zugeordnet. Dieses Git-Tag folgt auch Semver.

Fünftens gibt es Versionshinweise für jedes React-Update.

Das bedeutet, dass das Veröffentlichen eines Pakets viele Schritte umfasst. Sie müssen mindestens Folgendes tun:

  1. Führen Sie Tests durch (falls vorhanden)
  2. Aktualisiere version in package.json nach Semver
  3. Erstelle ein Git-Tag nach Semver
  4. Push das Paket an Github
  5. Push das Paket zu npm
  6. Erstellen Sie Versionshinweise für jedes Update

Es ist üblich, eines dieser Dinge zu vergessen, wenn wir bereit sind zu pushen. Manchmal npm publish und wir genießen eine Pause. Wenn wir zurück sind, ärgern wir uns über das Vergessen.

Es gibt einen einfacheren Weg. Es ist mit einem Tool namens np .

np

np (erstellt von Sindre Sorhus) erleichtert uns das Veröffentlichen von Paketen, ohne dass einer der oben beschriebenen Schritte ausgelassen wird.

Installation von np

Um np zu installieren , können Sie den folgenden Befehl ausführen:

npm install np

Das funktioniert. Aber ich bevorzuge die Installation von np global auf meinem Computer, damit ich np ausführen kann überall befehlen.

sudo npm install --global np

Vor der Verwendung von np

Bevor Sie np verwenden Sie müssen Folgendes sicherstellen:

  1. Ihr Projekt ist ein Git-Repository
  2. Es muss eine Fernbedienung vorhanden sein
  3. Sie müssen mindestens einmal auf die Fernbedienung gedrückt haben.
  4. Außerdem müssen Sie sicherstellen, dass Ihr Arbeitsverzeichnis sauber ist.
# Initialize Git git init # Adds a remote repository git remote add origin some-url # Commit changes git add . git commit -m "Initial Commit"

Wenn Ihr Projekt kein Git-Repository ist, erhalten Sie diesen Fehler:

Wenn Ihr Projekt keine Fernbedienung hat, erhalten Sie diesen Fehler (in einem späteren Teil der Prüfungen).

Wenn Ihr Arbeitsverzeichnis schmutzig ist, erhalten Sie diesen Fehler:

Wenn Sie nicht mindestens einmal auf die Git-Fernbedienung gepusht haben, np wird einfach hängen und nichts tun.

Npm verwenden

Um np zu verwenden , führen Sie np aus Befehl.

np

np fordert Sie auf, eine Semver-Nummer einzugeben.

Wählen Sie eine Nummer und np wird Sie bitten, Ihre Auswahl zu bestätigen.

np erledigt dann den Rest des Publishing-Zeugs für Sie.

Fehler beim Ausführen von Tests

np führt den npm test aus Befehl als Teil seiner Prüfungen.

Wenn Sie dem Tutorial bis zu diesem Punkt gefolgt sind, erhalten Sie einen Fehler, der so aussieht:

Dies geschieht, weil unser npm test Befehl führt zu einem Fehler. Sie können es selbst ausprobieren:

npm test

Um diesen Fehler zu beheben, müssen wir den test ändern Skript in package.json Datei.

Im Moment sieht es so aus:

"scripts": {     "test": "echo \"Error: no test specified\" && exit 1"},

Ändern Sie es wie folgt:

"scripts": {     "test": "echo \"No test specified\""},

Diese Änderung funktioniert, weil exit 1 erzeugt einen Fehler.

Mit dieser Änderung np sollte den Veröffentlichungsprozess abschließen. (Denken Sie daran, die Änderung festzuschreiben, bevor Sie np ausführen ).

Am Ende des Prozesses np startet ein Browserfenster, in dem Sie Ihre Versionshinweise schreiben können.

Kurz gesagt, np macht das Veröffentlichen von Paketen viel einfacher!

Danke fürs Lesen. Hat Ihnen dieser Artikel weitergeholfen? Wenn ja, hoffe ich, dass Sie darüber nachdenken, es zu teilen. Vielleicht hilfst du jemand anderem. Vielen Dank!

Dieser Artikel wurde ursprünglich auf mein Blog veröffentlicht .
Melden Sie sich für meinen Newsletter an, wenn Sie weitere Artikel wünschen, die Ihnen dabei helfen, ein besserer Frontend-Entwickler zu werden.