Node.js NPM-Tutorial: Erstellen, Veröffentlichen, Erweitern & Verwalten

Inhaltsverzeichnis:

Anonim

Ein Modul in Node.js ist eine logische Kapselung von Code in einer einzelnen Einheit. Es ist immer eine gute Programmierpraxis, Code immer so zu trennen, dass er für zukünftige Zwecke leichter zu verwalten und zu warten ist. Hier kommen Module in Node.js zum Einsatz.

Da jedes Modul eine unabhängige Entität mit einer eigenen gekapselten Funktionalität ist, kann es als separate Arbeitseinheit verwaltet werden.

In diesem Tutorial lernen Sie:

  • Was sind Module in Node.js?
  • Verwenden von Modulen in Node.js.
  • NPM-Module erstellen
  • Module erweitern
  • Veröffentlichung von NPM-Modulen
  • Verwalten von Paketen von Drittanbietern mit npm
  • Was ist die Datei package.json?

Was sind Module in Node.js?

Wie bereits erwähnt, sind Module in Node js eine Möglichkeit, Code in einer separaten logischen Einheit zu kapseln. Es gibt viele vorgefertigte Module auf dem Markt, die innerhalb von Node js verwendet werden können.

Im Folgenden finden Sie einige der gängigen Module, die in einer Node js-Anwendung verwendet werden

  1. Express-Framework - Express ist ein minimales und flexibles Node js-Webanwendungsframework, das robuste Funktionen für das Web und mobile Anwendungen bietet.
  2. Socket.io - Socket.IO ermöglicht bidirektionale ereignisbasierte Echtzeitkommunikation. Dieses Modul eignet sich zum Erstellen von Chat-basierten Anwendungen.
  3. Jade - Jade ist eine leistungsstarke Vorlagen-Engine, die mit JavaScript für Knoten und Browser implementiert ist.
  4. MongoDB - Der MongoDB Node.js-Treiber ist der offiziell unterstützte node.js-Treiber für MongoDB.
  5. Restify - restify ist ein leichtes Framework, ähnlich wie Express zum Erstellen von REST-APIs
  6. Bluebird - Bluebird ist eine voll ausgestattete Versprechensbibliothek mit Schwerpunkt auf innovativen Funktionen und Leistung

Verwenden von Modulen in Node.js.

Um Module in einer Node.js-Anwendung verwenden zu können, müssen sie zuerst mit dem Node-Paketmanager installiert werden.

Die folgende Befehlszeile zeigt, wie ein Modul "Express" installiert werden kann.

npm install express

  • Der obige Befehl lädt die erforderlichen Dateien herunter, die die "Express-Module" enthalten, und kümmert sich auch um die Installation
  • Nach der Installation des Moduls müssen Sie das Schlüsselwort 'require' verwenden, um ein Modul in einer Node.js-Anwendung zu verwenden. Mit diesem Schlüsselwort kann Node.js die Funktionalität eines Moduls in eine Anwendung integrieren.

Schauen wir uns ein Beispiel an, wie wir das Schlüsselwort "require" verwenden können. Das folgende Codebeispiel "Guru99" zeigt, wie die Funktion require verwendet wird

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
  1. In der ersten Anweisung selbst verwenden wir das Schlüsselwort "require", um das Express-Modul einzuschließen. Das "Express" -Modul ist eine optimierte JavaScript-Bibliothek für die Entwicklung von Node.js. Dies ist eines der am häufigsten verwendeten Node.js-Module.
  2. Nachdem das Modul enthalten ist, muss ein Objekt erstellt werden, um die Funktionalität innerhalb des Moduls nutzen zu können. Hier wird ein Objekt des Expressmoduls erstellt.
  3. Sobald das Modul mit dem Befehl "require" aufgenommen und ein "Objekt" erstellt wurde, können die erforderlichen Methoden des Express-Moduls aufgerufen werden. Hier verwenden wir den Befehl set, um die Ansichts-Engine festzulegen, mit der die in Node.js verwendete Vorlagen-Engine festgelegt wird.

    Hinweis: - (Nur zum besseren Verständnis des Lesers; eine Template-Engine ist ein Ansatz zum Einfügen von Werten in eine Anwendung durch Aufnehmen von Daten aus Datendateien. Dieses Konzept ist in Angular JS ziemlich bekannt, wo die geschweiften Klammern {{key}} verwendet werden Ersetzt Werte auf der Webseite. Das Wort "Schlüssel" in geschweiften Klammern bezeichnet im Wesentlichen die Variable, die bei der Anzeige der Seite durch einen Wert ersetzt wird.)

  4. Hier verwenden wir die Methode listen to, um die Anwendung dazu zu bringen, eine bestimmte Portnummer abzuhören.

NPM-Module erstellen

Node.js bietet die Möglichkeit, benutzerdefinierte Module zu erstellen, und ermöglicht es Ihnen, diese benutzerdefinierten Module in Ihre Node.js-Anwendung aufzunehmen.

Schauen wir uns ein einfaches Beispiel an, wie wir unser eigenes Modul erstellen und dieses Modul in unsere Hauptanwendungsdatei aufnehmen können. Unser Modul erledigt nur eine einfache Aufgabe, zwei Zahlen hinzuzufügen.

Befolgen Sie die folgenden Schritte, um zu sehen, wie wir Module erstellen und in unsere Anwendung aufnehmen können.

Schritt 1) Erstellen Sie eine Datei mit dem Namen "Addition.js" und geben Sie den folgenden Code ein. Diese Datei enthält die Logik für Ihr Modul.

Unten ist der Code, der in diese Datei gehen würde;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. Das Schlüsselwort "exportiert" wird verwendet, um sicherzustellen, dass andere Dateien tatsächlich auf die in dieser Datei definierte Funktionalität zugreifen können.
  2. Wir definieren dann eine Funktion namens 'AddNumber'. Diese Funktion ist so definiert, dass 2 Parameter a und b verwendet werden. Die Funktion wird dem Modul "Exporte" hinzugefügt, um die Funktion zu einer öffentlichen Funktion zu machen, auf die andere Anwendungsmodule zugreifen können.
  3. Wir lassen unsere Funktion endlich den Mehrwert der Parameter zurückgeben.

Nachdem wir unser benutzerdefiniertes Modul erstellt haben, können 2 Zahlen hinzugefügt werden. Es ist jetzt Zeit, eine Anwendung zu erstellen, die dieses Modul aufruft.

Im nächsten Schritt werden wir sehen, wie die Anwendung erstellt wird, die unser benutzerdefiniertes Modul aufruft.

Schritt 2) Erstellen Sie eine Datei mit dem Namen "app.js", die Ihre Hauptanwendungsdatei ist, und fügen Sie den folgenden Code hinzu

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Wir verwenden das Schlüsselwort "require", um die Funktionalität in die Datei Addition.js aufzunehmen.
  2. Da jetzt auf die Funktionen in der Datei Addition.js zugegriffen werden kann, können wir jetzt die Funktion AddNumber aufrufen. In der Funktion übergeben wir 2 Zahlen als Parameter. Wir zeigen dann den Wert in der Konsole an.

Ausgabe :

  • Wenn Sie die Datei app.js ausführen, wird im Konsolenprotokoll eine Ausgabe mit dem Wert 3 angezeigt.
  • Das Ergebnis ist, dass die AddNumber-Funktion in der Datei Addition.js erfolgreich aufgerufen wurde und der zurückgegebene Wert 3 in der Konsole angezeigt wurde.

Hinweis: - Wir verwenden den "Node Package Manager" noch nicht, um unser Modul Addition.js zu installieren. Dies liegt daran, dass das Modul bereits Teil unseres Projekts auf dem lokalen Computer ist. Der Node Package Manager wird angezeigt, wenn Sie ein Modul im Internet veröffentlichen, das wir im folgenden Thema sehen.

Module erweitern

Beim Erstellen von Modulen ist es auch möglich, ein Modul von einem anderen zu erweitern oder zu erben.

In der modernen Programmierung ist es durchaus üblich, eine Bibliothek gemeinsamer Module zu erstellen und dann die Funktionalität dieser gemeinsamen Module bei Bedarf zu erweitern.

Schauen wir uns ein Beispiel an, wie wir Module in Node.js erweitern können.

Schritt 1) Erstellen Sie das Basismodul.

Erstellen Sie in unserem Beispiel eine Datei mit dem Namen "Tutorial.js" und platzieren Sie den folgenden Code.

In diesem Code erstellen wir nur eine Funktion, die eine Zeichenfolge an die Konsole zurückgibt. Die zurückgegebene Zeichenfolge lautet "Guru99 Tutorial".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Das Exportmodul wird verwendet, damit jede in dieser Datei definierte Funktion in anderen Modulen in Node.js verfügbar sein kann
  2. Wir erstellen eine Funktion namens Tutorial, die in anderen Node.js-Modulen verwendet werden kann.
  3. Wir rufen eine Zeichenfolge "Guru99 Tutorial" in der Konsole an, wenn diese Funktion aufgerufen wird.

Nachdem wir unser Basismodul namens Tutorial.js erstellt haben. Es ist jetzt Zeit, ein weiteres Modul zu erstellen, das dieses Basismodul erweitert.

Wir werden im nächsten Schritt untersuchen, wie dies zu tun ist.

Schritt 2) Als nächstes erstellen wir unser erweitertes Modul. Erstellen Sie eine neue Datei mit dem Namen "NodeTutorial.js" und fügen Sie den folgenden Code in die Datei ein.

var Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")function pTutor(){var PTutor=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}

Beachten Sie die folgenden wichtigen Punkte zum obigen Code

  1. Wir verwenden die Funktion "require" in der neuen Moduldatei selbst. Da wir die vorhandene Moduldatei "Tutorial.js" erweitern wollen, müssen wir sie zuerst einfügen, bevor wir sie erweitern.
  2. Wir erstellen dann eine Funktion namens "Nodetutorial". Diese Funktion wird 2 Dinge tun,
  • Es wird eine Zeichenfolge "Node Tutorial" an die Konsole gesendet.
  • Es wird die Zeichenfolge "Guru99 Tutorial" vom Basismodul "Tutorial.js" an unser erweitertes Modul "NodeTutorial.js" gesendet.
  1. Hier führen wir den ersten Schritt aus, um eine Zeichenfolge an "Node Tutorial" an die Konsole zu senden.
  2. Der nächste Schritt besteht darin, die Funktion aus unserem Tutorial-Modul aufzurufen, das die Zeichenfolge "Guru99 Tutorial" an console.log ausgibt.

Schritt 3) Erstellen Sie Ihre Hauptdatei app.js, die Ihre Hauptanwendungsdatei ist, und geben Sie den folgenden Code an.

var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object

Der obige Code führt die folgenden Aktionen aus:

  1. Unsere Hauptanwendungsdatei ruft jetzt das Modul "NodeTutorial" auf.
  2. Wir rufen die Funktion "NodeTutorial" auf. Durch Aufrufen dieser Funktion wird der Text "Node Tutorial" im Konsolenprotokoll angezeigt.
  3. Seitdem haben wir unser Tutorial.js-Modul erweitert und eine Funktion namens pTutor verfügbar gemacht. Es ruft auch das Tutorial-Modul im Tutorial.js-Modul auf, und der Text "Guru99 Tutorial" wird auch auf der Konsole angezeigt.

Ausgabe:

Da wir den obigen app.js-Code mit Node ausgeführt haben, erhalten wir die folgende Ausgabe in der Datei console.log

  • Knoten-Tutorial
  • Guru99 Tutorial

Veröffentlichen von NPM-Modulen (Node Package Manager)

Man kann sein eigenes Modul in seinem eigenen Github-Repository veröffentlichen.

Wenn Sie Ihr Modul an einem zentralen Ort veröffentlichen, müssen Sie sich nicht auf jedem Computer installieren, der es benötigt.

Stattdessen können Sie den Installationsbefehl von npm verwenden und Ihr veröffentlichtes npm-Modul installieren.

Die folgenden Schritte müssen ausgeführt werden, um Ihr npm-Modul zu veröffentlichen

Schritt 1) Erstellen Sie Ihr Repository auf GitHub (einem Online-Code-Repository-Verwaltungstool). Es kann zum Hosten Ihrer Code-Repositorys verwendet werden.

Schritt 2 ) Sie müssen Ihrer lokalen npm-Installation mitteilen, wer Sie sind. Dies bedeutet, dass wir npm mitteilen müssen, wer der Autor dieses Moduls ist, wie die E-Mail-ID lautet und welche Firmen-URL verfügbar ist, die dieser ID zugeordnet werden muss. Alle diese Details werden Ihrem npm-Modul hinzugefügt, wenn es veröffentlicht wird.

Die folgenden Befehle legen den Namen, die E-Mail-Adresse und die URL des Autors des npm-Moduls fest.

npm set init.author.name "Guru99".

npm set init.author.email " Diese E-Mail-Adresse ist vor Spambots geschützt. Zum Anzeigen muss JavaScript aktiviert sein."

npm set init.author.url http://Guru99.com

Schritt 3) Der nächste Schritt besteht darin, sich mit den im letzten Schritt angegebenen Anmeldeinformationen bei npm anzumelden. Um sich anzumelden, müssen Sie den folgenden Befehl verwenden

npm login 

Schritt 4) Initialisieren Sie Ihr Paket - Der nächste Schritt besteht darin, das Paket zu initialisieren, um die Datei package.json zu erstellen. Dies kann durch Ausgabe des folgenden Befehls erfolgen

npm init

Wenn Sie den obigen Befehl eingeben, werden Sie zu einigen Fragen aufgefordert. Das wichtigste ist die Versionsnummer Ihres Moduls.

Schritt 5) Auf GitHub veröffentlichen - Der nächste Schritt besteht darin, Ihre Quelldateien auf GitHub zu veröffentlichen. Dies kann durch Ausführen der folgenden Befehle erfolgen.

git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags

Schritt 6) Veröffentlichen Sie Ihr Modul - Das letzte Bit besteht darin, Ihr Modul in der npm-Registrierung zu veröffentlichen. Dies erfolgt über den folgenden Befehl.

npm publish

Verwalten von Paketen von Drittanbietern mit npm

Wie wir gesehen haben, kann der "Node Package Manager" Module verwalten, die von Node.js-Anwendungen benötigt werden.

Schauen wir uns einige der Funktionen an, die im Node Package Manager zum Verwalten von Modulen verfügbar sind

  1. Installieren von Paketen im globalen Modus - Module können auf globaler Ebene installiert werden. Dies bedeutet im Grunde, dass diese Module für alle Node.js-Projekte auf einem lokalen Computer verfügbar sind. Das folgende Beispiel zeigt, wie das "Express-Modul" mit der globalen Option installiert wird.

    npm install express -global

    Die globale Option in der obigen Anweisung ermöglicht die Installation der Module auf globaler Ebene.

  2. Auflistung aller auf einem lokalen Computer installierten globalen Pakete. Dies kann durch Ausführen des folgenden Befehls in der Eingabeaufforderung erfolgen

    npm list --global

    Unten sehen Sie die Ausgabe, die angezeigt wird, wenn Sie zuvor das "Express-Modul" auf Ihrem System installiert haben.

    Hier sehen Sie die verschiedenen Module, die auf dem lokalen Computer installiert sind.

  1. Installieren einer bestimmten Version eines Pakets - Manchmal muss möglicherweise nur die bestimmte Version eines Pakets installiert werden. Sobald Sie den Paketnamen und die relevante Version kennen, die installiert werden muss, können Sie den Befehl npm install verwenden, um diese bestimmte Version zu installieren.

    Das folgende Beispiel zeigt, wie das Modul mit dem Namen Unterstrich mit einer bestimmten Version von 1.7.0 installiert wird

    npm installiere [email protected]

  2. Aktualisieren einer Paketversion - Manchmal haben Sie möglicherweise eine ältere Version eines Pakets in einem System, und Sie möchten möglicherweise auf die neueste auf dem Markt verfügbare Version aktualisieren. Dazu kann man den Befehl npm update verwenden. Das folgende Beispiel zeigt, wie das Unterstrichpaket auf die neueste Version aktualisiert wird

    npm Update Unterstrich

  3. Suchen nach einem bestimmten Paket - Um zu suchen, ob eine bestimmte Version auf dem lokalen System verfügbar ist oder nicht, können Sie den Suchbefehl von npm verwenden. Im folgenden Beispiel wird überprüft, ob das Express-Modul auf dem lokalen Computer installiert ist oder nicht.

    npm search express

  4. Deinstallieren eines Pakets - Ebenso wie Sie ein Paket installieren können, können Sie auch ein Paket deinstallieren. Die Deinstallation eines Pakets erfolgt mit dem Deinstallationsbefehl von npm. Das folgende Beispiel zeigt, wie Sie das Express-Modul deinstallieren

    npm deinstallieren Express

Was ist die Datei package.json?

Die Datei "package.json" wird verwendet, um die Metadaten zu einem bestimmten Projekt zu speichern . Diese Informationen liefern dem Node-Paketmanager die erforderlichen Informationen, um zu verstehen, wie das Projekt zusammen mit seinen Abhängigkeiten behandelt werden soll.

Die package.json-Dateien enthalten Informationen wie die Projektbeschreibung, die Version des Projekts in einer bestimmten Distribution, Lizenzinformationen und Konfigurationsdaten.

Die Datei package.json befindet sich normalerweise im Stammverzeichnis eines Node.js-Projekts.

Nehmen wir ein Beispiel dafür, wie die Struktur eines Moduls aussieht, wenn es über npm installiert wird.

Der folgende Schnappschuss zeigt den Dateiinhalt des Express-Moduls, wenn er in Ihrem Node.js-Projekt enthalten ist. Aus dem Snapshot können Sie die Datei package.json im Express-Ordner sehen.

Wenn Sie die Datei package.json öffnen, werden in der Datei viele Informationen angezeigt.

Unten finden Sie eine Momentaufnahme eines Teils der Datei. In express@~4.13.1 wird die Versionsnummer des verwendeten Expressmoduls angegeben .

Zusammenfassung

  • Ein Modul in Node.js ist eine logische Kapselung von Code in einer einzelnen Einheit. Die Aufteilung in Module macht Code für zukünftige Zwecke verwaltbarer und wartbarer
  • Auf dem Markt sind viele Module verfügbar, die in Node.js verwendet werden können, z. B. Express, Unterstrich, MongoDB usw.
  • Der Node Package Manager (npm) wird zum Herunterladen und Installieren von Modulen verwendet, die dann in einer Node.js-Anwendung verwendet werden können.
  • Man kann benutzerdefinierte NPM-Module erstellen, diese Module erweitern und diese Module auch veröffentlichen.
  • Der Node-Paketmanager verfügt über einen vollständigen Befehlssatz zum Verwalten der npm-Module auf dem lokalen System, z. B. Installation, Deinstallation, Suche usw.
  • Die Datei package.json wird verwendet, um die gesamten Metadateninformationen für ein npm-Modul zu speichern.