Guten Tag!
Früher oder später haben Unternehmen Probleme, js-Module zwischen Projekten zu verteilen. Es ist an der Zeit, dass diese Frage in unserem Unternehmen auftaucht.
Das Kopieren und Einfügen von Code ist der Weg zur dunklen Seite. Daher wurde die Entscheidung getroffen, nicht nur js-Code zu schreiben, sondern daraus auch npm-Pakete zu erstellen, die zwischen Ihren Projekten verteilt werden sollen.
Die Suche nach kostenlosen, privaten npm-Repositories hat zu einer Sackgasse geführt, und die Verwendung privater 
npm- Repositories erfordert eine Gebühr (was nicht unsere Mentalität ist).
Da das Büro über einen Server verfügt, der (fast) immer funktioniert, wurde beschlossen, lokale npm bereitzustellen.

Das Gerät der beliebten lokalen npm-Repositories ist recht einfach und eintönig. Wir haben uns für 
Verdaccio entschieden, da Updates dafür erst vor relativ kurzer Zeit veröffentlicht wurden.
Dies ist hauptsächlich ein npm-Paket, das auf Node.js> 4 installiert ist und eine Webschnittstelle für einen bestimmten Port bietet.
Ein großes Plus ist die Caching-Funktion. Wenn die lokale npm das von ihr angeforderte Paket nicht findet, geht sie zu npmjs.com, lädt das erforderliche Paket auf die Festplatte herunter und verteilt bei wiederholten Anforderungen dieses Pakets die bereits zwischengespeicherte Version.
Also, um einzurichten.
Auf dem Computer, der der Server sein wird:
npm i -g verdaccio 
Die Datei C: \ Users \ lab \ AppData \ Roaming \ verdaccio \ config.yaml enthält Serverparameter
Die Standardparameter sind realisierbar. Sie können nichts ändern. Fügen Sie einfach die Einstellung am Ende der Datei hinzu, dank derer Verdaccio versteht, welchen Port Sie abhören müssen.
 listen: 192.168.51.79:1234 
192.168.51.79 ist ein IP-Server, der die Adresse so festlegt, dass wir vom lokalen Netzwerk über den IP-Server oder über seinen DNS-Namen und durch Hinzufügen von Port 1234 auf die Webschnittstelle zugreifen können.
Wenn Sie 
listen registrieren 
: 192.168.51.79:80, ist es nicht erforderlich, beim Konfigurieren von Clients einen Port zu schreiben.
Führen Sie als nächstes unsere lokale npm aus
 verdaccio 
Die verbleibenden Aktionen werden auf Clients ausgeführt.
Legen Sie den Pfad zum lokalen Repository fest.
 npm set registry http: 
Fertig, jetzt werden alle Ihre npm-Anforderungen über den lokalen Server zwischengespeichert.
Wenn Sie das npm-Paket auf dem Server veröffentlichen müssen, befolgen Sie die nachstehenden Anweisungen.
Benutzer erstellen
 npm adduser --registry http: 
Login
 npm login password bezrukov@mir-omsk.ru 
Wir überprüfen, ob wir uns unter dem Benutzer "Login" befinden.
 npm whoami 
Wir veröffentlichen das Paket, rootProjectFolder ist ein Ordner mit mindestens drei Dateien index.js \ package.json \ README.md. Das 
Beispiel wird auf github veröffentlicht .
 cd /rootProjectFolder npm publish 
Paket aktualisieren. Wir aktualisieren die Version in package.json und führen die Befehle aus
 cd /rootProjectFolder npm publish 
Das Paket auf dem lokalen Server können Sie unter 
192.168.51.79 : 1234 überprüfen, ob ein neues Paket vorhanden ist.
Übrigens werden Informationen zu jedem der Pakete in einer praktischen Form dargestellt und es wird nach lokalen Paketen gesucht.

PS: Wenn Ihr Netzwerk über einen Proxy verfügt, müssen Sie dessen Parameter auf dem Server explizit angeben, dies ist jedoch auf dem Client nicht erforderlich, da das npm-Repository lokal ist und Sie keinen Proxyserver für den Zugriff auf Clients benötigen.
Führen Sie auf dem Server den Befehl 
npm config edit aus und fügen Sie die folgenden Zeilen hinzu
 proxy=http: 
PPS Wenn Sie unter Windows ausgeführt werden, ist es vorzuziehen, Powershell auf dem Server zu verwenden. In cmd kann npm nach einem Tag einfrieren.
Ich freue mich über Kommentare und Feedback, wie dies für Sie funktioniert.