AnkündigungWir stellen MongoDB 8.0 vor, das schnellste MongoDB aller Zeiten! Mehr erfahren >
AnkündigungVoyage AI und MongoDB unterstützen ab sofort gemeinsam genauere und vertrauenswürdigere KI-Anwendungen auf Atlas. Mehr erfahren >

So verwenden Sie MERN Stack: Eine vollständige Anleitung

Für dieses Tutorial benötigen Sie Zugriff auf eine MongoDB Atlas-Datenbank. Wenn Sie kein Konto haben, können Sie sich kostenlos anmelden.

Kostenlos testen

Dieses Tutorial zeigt Ihnen, wie Sie mit den aktuellsten verfügbaren Tools eine Full-Stack-MERN-Anwendung erstellen – in diesem Fall eine Mitarbeiterdatenbank. Bevor Sie beginnen, stellen Sie sicher, dass Sie mit den Grundlagen von Node.js und React.js vertraut sind. Für dieses Tutorial benötigen Sie außerdem Zugriff auf eine MongoDB Atlas Datenbank. Der vollständige Code ist im GitHub-Repository verfügbar.

Inhaltsverzeichnis

Was ist der MERN-Stack?

MERN-Stack ist ein Webentwicklungsframework, das aus MongoDB, Express, React.js und Node.js besteht. Es ist eine von mehreren Varianten des MEAN-Stacks.

Wenn Sie den MERN-Stack verwenden, arbeiten Sie mit React, um die Präsentationsschicht zu implementieren, Express, und Node.js, um die mittlere oder Anwendungsschicht zu bilden, und mit MongoDB, um die Datenbankschicht zu erstellen.

In diesem MERN-Stack-Tutorial nutzen wir diese vier Technologien, um eine grundlegende Anwendung zu entwickeln, die in der Lage ist, die Informationen von Mitarbeitern aufzuzeichnen und sie mithilfe des React-Frontends anzuzeigen.

Erste Schritte mit MERN-Stack

So legen Sie los:

Eine Illustration, die ein Video-Tutorial zeigt.

Wenn Sie ein visueller Lerner sind, schauen Sie sich die Videoversion dieses Tutorials an.

Einrichten des Projekts

(Sie können gerne mitcodieren oder den vollständigen Code aus dem GitHub-Repository herunterladen.)

Mit MERN können wir Full-Stack-Lösungen erstellen. Um sein volles Potenzial auszuschöpfen, werden wir ein MERN-Stack-Projekt erstellen. Für dieses Projekt werden wir sowohl ein Backend als auch ein Frontend erstellen. Das Frontend wird mit React und das Backend mit MongoDB, Node.js und Express implementiert. Wir rufen den Frontend- Client und den Backend -Server auf.

Beginnen wir mit der Erstellung eines leeren Verzeichnisses: mern. Dieser Ordner enthält unsere Client- und Serverordner.

Als Nächstes erstellen Sie einen Ordner für das Backend und nennen ihn „server“. Dann initialisieren wir die Datei package.json mit npm init.

Um ECMAScript Modules, das offiziell unterstützte Standardformat zur Paketierung von JavaScript-Code zur Wiederverwendung, zu verwenden, fügen wir eine Zeile in die package.json-Datei ein.

Wir werden auch die Abhängigkeiten installieren.

Der obige Befehl installiert drei verschiedene Pakete:

  • mongodb – der MongoDB-Datenbanktreiber, der es Ihren Node.js-Anwendungen ermöglicht, eine Verbindung zur Datenbank herzustellen und mit Daten zu arbeiten
  • express – das Webframework für Node.js (es wird unser Leben einfacher machen)
  • cors – ein Node.js-Paket, das die gemeinsame Nutzung von Ressourcen zwischen verschiedenen Ursprüngen ermöglicht

Wir können die installierten Abhängigkeiten in der Datei package.json überprüfen. Es sollte die Pakete zusammen mit ihren Versionen auflisten.

Nachdem wir sichergestellt haben, dass die Abhängigkeiten erfolgreich installiert wurden, erstellen wir eine Datei namens server.js mit folgendem Code:

mern/server/server.js

Hier importieren wir Express und cors. const port = process.env.PORT greift auf die Portvariable aus der Datei config.env zu, die wir als Nächstes erstellen.

Verbindungsherstellung zu MongoDB Atlas

Es ist an der Zeit, unseren Server mit der Datenbank zu verbinden. Wir werden MongoDB Atlas als Datenbank verwenden. MongoDB Atlas ist ein cloudbasierter Datenbankdienst, der robuste Datensicherheit und Zuverlässigkeit bietet. MongoDB Atlas bietet einen kostenlosen Cluster, der nie abläuft und Ihnen Zugriff auf eine Teilmenge der Features und Funktionen von Atlas gewährt.

Befolgen Sie die Anleitung Erste Schritte mit Atlas, um ein Konto zu erstellen, Ihren ersten Cluster bereitzustellen und die Verbindungszeichenfolge Ihres Clusters zu finden.

Nachdem Sie nun die Verbindungszeichenfolge haben, gehen Sie zurück zum Serververzeichnis und erstellen Sie eine Datei „config.env“. Weisen Sie dort die Verbindungszeichenfolge einer neuen ATLAS_URI-Variable zu. Wenn Sie fertig sind, sollte Ihre Datei ungefähr wie die folgende aussehen. Ersetzen Sie < username >, < password >, < clusterName > und < projectId > mit Ihrem Datenbank-Benutzernamen, Passwort, Clusternamen und Projekt-ID.

mern/server/config.env

Erstellen Sie unter dem Serververzeichnis einen Ordner mit dem Namen db und darin eine Datei mit dem Namen connection.js. Dort können wir den folgenden Code hinzufügen, um eine Verbindung zu unserer Datenbank herzustellen:

mern/server/db/connection.js

Server-API-Endpunkte

Datenbank fertig. Server fertig. Jetzt ist es Zeit für die API-Endpunkte. Beginnen wir mit der Erstellung eines Routenordners und dem Hinzufügen von record.js darin. Navigieren Sie zurück zu Ihrem „Server“-Verzeichnis und erstellen Sie das neue Verzeichnis und die neue Datei:

Die Datei routes/record.js wird auch die folgenden Codezeilen enthalten:

mern/server/routes/record.js

Wenn Sie die Anwendung an diesem Punkt ausführen, erhalten Sie beim Herstellen der Verbindung die folgende Meldung in Ihrem Terminal. Beachten Sie, dass wir die integrierte Umgebungsvariablenfunktionalität der neuesten Versionen von Node.js verwenden.

Mit dem Backend sind wir nun fertig. Jetzt beginnen wir mit der Arbeit am Frontend.

Einrichten der React-Anwendung

Für das Frontend werden wir Vite verwenden, eine moderne Art, eine React-Anwendung zu erstellen. In einem neuen Terminal im Verzeichnis mern richten wir Folgendes ein:

Es gibt einige zusätzliche Abhängigkeiten, die in unserem Projekt verwendet werden sollen. Wir beginnen mit Tailwind CSS.

Als Nächstes bearbeiten wir das Inhaltsfeld in der Datei tailwind.config.js.

In der Datei src/index.css müssen wir die Tailwind-Direktiven hinzufügen und alles andere löschen.

Zuletzt installieren wir react-router-dom.

Tailwind ist ein nutzerorientiertes CSS-Framework, mit dem Sie durch die Verwendung vordefinierter Klassennamen CSS-Stile hinzufügen können. Und React Router fügt clientseitiges Seitenrouting zu React hinzu!

Einrichten des React-Routers

Innerhalb von src/main.jsx fügen wir den folgenden Code ein:

mern/client/src/main.jsx

Wir haben die Routen unserer Anwendungsseite in der Router-Variable eingerichtet und den RouterProvider verwendet, um unsere Benutzeroberfläche mit der URL synchron zu halten. RouterProvider hilft bei nahtlosen Übergängen beim Wechseln zwischen Komponenten. Im Grunde wird nur die Komponente neu geladen oder aktualisiert, die geändert werden muss, anstatt die gesamte Seite zu aktualisieren oder neu zu laden. Obwohl React Router keine Notwendigkeit ist, ist es wichtig, wenn Ihre App reagieren soll.

Erstellen von Komponenten

Als Nächstes erstellen wir die Komponenten, die wir in unseren Routen definiert haben. Erstellen Sie einen Komponentenordner im src-Ordner. Für jede Komponente, die wir erstellen, fügen wir eine neue .js- Datei im Komponentenordner hinzu. In diesem Fall fügen wir NavBar.jsx, RecordList.jsx und ModifyRecord.jsx hinzu.

Die folgenden Snapshots zeigen, wie jede Datei aussehen würde.

Navbar.jsx

In der Komponente navbar.js erstellen wir eine Navigationsleiste, die uns mit folgendem Code zu den benötigten Komponenten führt.

mern/client/src/components/Navbar.jsx

RecordList.jsx

Der folgende Code dient als Anzeigekomponente für unsere Datensätze. Es werden alle Datensätze in unserer Datenbank über eine GET-Methode abgerufen.

mern/client/src/components/RecordList.jsx

Record.jsx

Der folgende Code dient als Formularkomponente zum Erstellen oder Aktualisieren von Datensätzen. Diese Komponente sendet entweder einen Erstellungsbefehl oder einen Aktualisierungsbefehl an unseren Server.

mern/client/src/components/Record.jsx*

Jetzt fügen wir Folgendes zur Datei src/App.jsx hinzu.

mern/client/src/App.jsx

Dies ist unsere Hauptlayout-Komponente. Unsere Navbar wird immer oben auf jeder Seite stehen, und das Outlet wird die untergeordneten Komponenten akzeptieren, die wir zuvor in unseren Routen in der Datei main.jsx definiert haben.

Verbindung des Frontends mit dem Backend

Wir haben den Prozess der Komponentenerstellung abgeschlossen. Außerdem haben wir unsere React-App mithilfe von fetch mit dem Back-End verbunden, was eine sauberere und einfachere Verarbeitung von HTTP-Anfragen ermöglicht. In Record.jsx haben wir den folgenden Code an den Block onSubmit(e) angehängt. Wenn eine POST- oder PATCH-Anforderung an die URL gesendet wird, fügt Fetch der Datenbank entweder einen neuen Datensatz hinzu oder aktualisiert einen vorhandenen Datensatz in der Datenbank.

Wir haben auch den folgenden Codeblock in Record.jsx unterhalb des Konstruktorblocks eingefügt, um einen vorhandenen Datensatz zu laden, falls er existiert.

Schließlich holt RecordList.jsx. RecordList.jsx die Datensätze aus der Datenbank. Wir werden also die GET-Methode von fetch verwenden, um Datensätze aus der Datenbank abzurufen. Um dies zu erreichen, haben wir die folgenden Codezeilen über der Funktion RecordList() in RecordList.jsx hinzugefügt.

Nachdem Sie alles geschlossen haben, führen Sie die folgenden Schritte aus, um die App zu starten:

  • Stellen Sie sicher, dass die Server-App noch ausgeführt wird. Ist dies nicht der Fall, starten Sie sie, indem Sie den folgenden Befehl im Serververzeichnis ausführen:
  • Gehen Sie in einem neuen Terminal zum Client-Verzeichnis und führen Sie den folgenden Befehl aus:

So sieht die Landing Page der Datensatzkomponente aus, nachdem wir Datensätze für „Jesse Hall“, „Kushagra Kesav“ und „Stanimira Vlaeva“ über die Schaltfläche „Mitarbeiter erstellen“ hinzugefügt haben.

So sieht der Bildschirm aus, auf dem Sie einen Mitarbeiter hinzufügen können:

Herzlichen Glückwunsch zum Erstellen Ihrer ersten MERN-Anwendung. Weitere Ideen und fortgeschrittene Konzepte finden Sie in unserem Developer Center und wenn Sie Fragen haben, können Sie diese in unseren Community-Foren stellen.

Erste Schritte mit MongoDB Atlas

Kostenlos testen
Weiterlesen