So stellen Sie npm so ein, dass Pakete aus mehreren Paketquellen gleichzeitig geladen werden

So stellen Sie npm so ein, dass Pakete aus mehreren Paketquellen gleichzeitig geladen werden

Mit der Entwicklung und Reife der Technologie zur Trennung von Front-End und Back-End übernehmen immer mehr Back-End-Systeme und sogar Front-End-Systeme die Methode der Trennung von Front-End und Back-End. In groß angelegten Systemen zur Trennung von Front-End und Back-End enthält das Front-End häufig eine große Anzahl von Verweisen auf JS-Pakete von Drittanbietern, und jedes Drittanbieterpaket kann von einem anderen Drittanbieterpaket abhängig sein. Daher besteht dringender Bedarf an einem Tool zum Verwalten der Abhängigkeiten zwischen Projektpaketen. Zu diesem Zeitpunkt erscheint npm. npm wird normalerweise zusammen mit nodejs installiert.

In Projekten kommt es häufig zu einer solchen Situation: Einige JS-Pakete sind möglicherweise unternehmensintern gekapselt und enthalten möglicherweise private Informationen, die nicht in das öffentliche Repository von npm hochgeladen werden können. Aus Sicherheitsgründen ist es dann eine gute Methode, diese unternehmensintern gekapselten JS-Pakete in das unternehmensintern erstellte Repository zu stellen. Normalerweise können wir durch die Installation von verdaccio eine unternehmensinterne Repository-Quelle für npm-Pakete erstellen. Nach Abschluss der Erstellung laden wir die unternehmensintern gekapselten JS-Pakete in die private Repository-Quelle des Unternehmens hoch und richten npm dann so ein, dass es beim Initialisieren des Paketladevorgangs nach Paketen aus mehreren Repository-Quellen sucht. Dadurch wird die Funktion realisiert, mit der npm Pakete gleichzeitig aus mehreren Repository-Quellen lädt.

1. Lokalen Speicher erstellen

Geben Sie zuerst den Befehl ein:

npm install -g verdaccio --save

Beachten Sie zum Installieren des Tools zum Erstellen eines privaten NPM-Paket-Repositorys: Sie müssen Node.js installieren, bevor Sie diesen Befehl ausführen.

Nach erfolgreicher Installation wird folgende Abbildung angezeigt:

Nach erfolgreicher Installation finden Sie die Verdaccio-Konfigurationsdatei config.yaml (sofern Sie sich auf einem Windows-System befinden) im Verzeichnis %APPDATA%/Roaming/verdaccio und können sie auch im Befehlszeilenfenster ausführen.

Geben Sie den Befehl verdaccio ein, um verdaccio zu starten. Geben Sie nach dem erfolgreichen Start http://127.0.0.1:4873/ in den Browser ein und Sie können den folgenden Effekt sehen:

Da wir noch keine privaten Pakete dorthin hochgeladen haben, wird eine leere Liste angezeigt. Im Folgenden wird erklärt, wie man private Pakete auf verdaccio veröffentlicht.

2. Erstellen Sie ein npm-Paket und laden Sie es in ein privates Repository hoch

Zuerst erstellen wir ein Test-npm-Paket und laden es in ein privates Repository hoch.

Verwenden Sie den Befehl npm init, um ein Paket zu erstellen.

Nachdem die Erstellung erfolgreich war, öffnen wir das Testverzeichnis und sehen, dass eine Datei package.json generiert wurde. Öffnen Sie den neu hinzugefügten Knoten publishConfig, um dieses Paket unter der Adresse http://127.0.0.1:4873 zu veröffentlichen:

{
  "Name": "@mylib/test",
  "version": "1.0.0",
  "Beschreibung": "lokales npm-Paket",
  "main": "index.js",
  "Skripte": {
    "test": "echo \"Fehler: kein Test angegeben\" && exit 1"
  },
  "Schlüsselwörter": [
    "prüfen"
  ],
  "Autor": "chenxin",
  "Lizenz": "ISC",
  "Konfiguration veröffentlichen": {
    "Registrierung": "http://127.0.0.1:4873"
  }
}

Erstellen Sie eine neue Datei index.js im Verzeichnis, in dem sich package.json befindet. Da das obige Hauptattribut index.js als Eintragsausführungsdatei des Pakets angibt, muss der Name wie folgt lauten: index.js

Da wir in der Verdaccio-Konfigurationsdatei angegeben haben, dass zum Veröffentlichen und Aufheben der Veröffentlichung von Paketen eine Anmeldung erforderlich ist, geben wir den folgenden Befehl ein, um einen Benutzer zu registrieren.

Das Obige bedeutet, dass die Registrierung erfolgreich war und die Anmeldung abgeschlossen ist. Da sich das aktuelle Verzeichnis genau in dem Verzeichnis befindet, in dem sich die Datei package.json des Pakets @mylib/test befindet, und die Datei package.json die Repository-Adresse angegeben hat, in der das Paket veröffentlicht werden soll, können wir den Befehl npm publish direkt verwenden, um das Paket @mylib/test im privaten Repository zu veröffentlichen. Nach erfolgreicher Veröffentlichung wird dies in der folgenden Abbildung angezeigt:

3. Suchen Sie beim Einrichten von npm-Installationspaketen in mehreren Repositorys

Durch Eingabe des Befehls:

npm-Konfigurationssatz @mylib:registry=http://127.0.0.1:4873

Der obige Befehl weist npm an, alle Pakete, die mit @mylib beginnen, von http://127.0.0.1:4873 zu laden.

4. Testen Sie, ob npm Pakete aus mehreren Repositorys gleichzeitig laden kann

Geben Sie den Befehl npm init ein, um eine package.json-Datei für ein Projekt zu erstellen

Geben Sie die folgenden beiden Befehle ein, um das jQuery-Paket bzw. das @mylib/test-Paket zu installieren, wobei das jQuery-Paket aus der externen Repository-Quelle geladen wird.

npm installiere jquery --save
npm installiere @mylib/test --save

An dieser Stelle können Sie sehen, dass node_modules bereits die beiden oben installierten Pakete enthält

Die Datei package.json enthält auch die Abhängigkeiten der beiden oben genannten Pakete

{
  "Name": "Testprojekt",
  "version": "1.0.0",
  "description": "Testprojekt",
  "main": "index.js",
  "Skripte": {
    "test": "echo \"Fehler: kein Test angegeben\" && exit 1"
  },
  "Schlüsselwörter": [
    "prüfen"
  ],
  "Autor": "chenxin",
  "Lizenz": "ISC",
  "Abhängigkeiten": {
    "@mylib/test": "^1.0.0",
    "jquery": "^3.6.0"
  }
}

Zu diesem Zeitpunkt löschen wir das Verzeichnis node_modules und geben die Befehlszeile ein (dieser Befehl muss in dem Verzeichnis ausgeführt werden, in dem sich package.json befindet):

npm init

Beobachten Sie, ob das Verzeichnis node_modules neu generiert wird und die beiden in package.json enthaltenen Pakete enthält. Wenn beide enthalten sind, bedeutet dies, dass npm bereits das gleichzeitige Laden von Paketen aus mehreren Repositorys unterstützt.

Dies ist das Ende dieses Artikels darüber, wie man npm so einstellt, dass Pakete aus mehreren Paketquellen gleichzeitig geladen werden. Weitere Informationen dazu, wie man npm so einstellt, dass Pakete aus mehreren Paketquellen gleichzeitig geladen werden, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So konfigurieren Sie inländische Spiegelressourcen + Taobao-Spiegel mit npm

<<:  Wie melde ich mich per Remote-Zugriff bei der MySql-Datenbank an?

>>:  Analyse der Verwendung des Linux-Schwachstellen-Scan-Tools lynis

Artikel empfehlen

Detaillierte Erläuterung der Funktionen und Methoden des Vue3-Lebenszyklus

1. Übersicht Bei der sogenannten Lifecycle-Funkti...

So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

Dieser Artikel beschreibt, wie man PHP und Nginx ...

So vereinfachen Sie Redux mit Redux Toolkit

Inhaltsverzeichnis Probleme, die Redux Toolkit lö...

html+css+js zur Realisierung der Funktion der Fotovorschau und des Bildhochladens

Vorwort: Wenn wir Webseiten erstellen, müssen wir...

Fassen Sie die häufigsten Anwendungsprobleme von XHTML-Code zusammen

Im Laufe der Zeit habe ich festgestellt, dass vie...

Transplantieren des Befehls mkfs.vfat in Busybox unter Linux

Um die Lebensdauer der Festplatte zum Speichern v...

Lösungen für MySQL OOM (Speicherüberlauf)

OOM steht für „Out Of Memory“, was so viel bedeut...

43 Webdesign-Fehler, auf die Webdesigner achten sollten

Dies ist ein Artikel über die Benutzerfreundlichk...

Tutorial zur Installation des Nginx-RTMP-Streaming-Servers unter Ubuntu 14

1. RTMP Das RTMP-Streaming-Protokoll ist ein von ...

React antd realisiert dynamische Vergrößerung und Verkleinerung der Form

Beim Schreiben dynamischer Formulare bin ich zuvo...

Vue ruft die Computerkamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der Windows-Zeitserver-Konfigurationsmethode

Kürzlich habe ich festgestellt, dass die Serverze...

Empfohlene 20 besten kostenlosen englischen Handschrift-Schriftarten

Jellyka BeesAntike Handschrift [Ank]* Jellyka Cutt...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...