Heim  >  Artikel  >  Web-Frontend  >  Erstellen einer Website mit Node.js und Express.js

Erstellen einer Website mit Node.js und Express.js

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 08:20:03948Durchsuche

Building a Website with Node.js and Express.js

Dieser Artikel befasst sich eingehend mit der Erstellung von Websites mit Node.js und Express.js. Express.js ist ein wesentliches Framework zum Erstellen robuster und skalierbarer Webanwendungen auf Node.js. Der heutige Schwerpunkt liegt auf Routing, Middleware und Template Engines und Cookie-Sitzungen.

Konzept-Highlights:

  1. app.use(callback)
  2. app.use(path, callback)
  3. GET, POST, PUT, DELETE
  4. Express Middleware
  5. Nächste Middleware im Stapel aufrufen
  6. Express-Router verwenden
  7. Cookie-Sitzungsverwaltungs-Middleware
  8. Vorlagenvariablen
  9. EJS

1. app.use(Rückruf)

Die app.use(callback)-Methode in Express.js wird zum Mounten von Middleware-Funktionen verwendet. Diese Middleware wird für jede an Ihre Anwendung gestellte Anfrage ausgeführt, unabhängig von der HTTP-Methode oder URL.

z.B.)In diesem Beispiel läuft die Middleware bei jeder eingehenden Anfrage und protokolliert eine Nachricht an der Konsole.

const express = require('express'); 
const app = express();

app.use((req, res, next) => {
  console.log('Middleware running for every request.');
  next();
});

2. app.use(Pfad, Rückruf)

Mit dieser Methode können Sie Middleware an einer bestimmten Route bereitstellen. Die Middleware wird nur ausgeführt, wenn die Anfrage mit dem angegebenen Pfad übereinstimmt.

z. B.) In diesem Beispiel wird die Middleware nur für Routen ausgelöst, die mit /users beginnen.

app.use('/users', (req, res, next) => {
  console.log('Middleware only for /users route.');
  next();
});

3. GET, POST, PUT, DELETE

Mit diesen Methoden können Sie bestimmte HTTP-Methoden (GET, POST, PUT, DELETE usw.) auf einer bestimmten Route verarbeiten. Hier definieren Sie das Verhalten Ihrer Webanwendung.

z. B.) Jede Methode verarbeitet einen anderen Teil der CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren, Löschen) für die Benutzerverwaltung.

app.get('/users', (req, ress) => {
  res.send('Fetching all users');
});

app.post('/users', (req, res) => {
  res.send('Creating a new user');
});

app.put('/users/:id', (req, res) => {
  res.send(`Updating user with ID: ${req.params.id}`);
});

app.delete('/users/:id', (req, res) => {
  res.send('Deleting user with ID: ${req.params.id}`);
});

4. Express-Middleware

Middleware-Funktionen in Express.js haben Zugriff auf die Anforderungsobjekte (req) und Antwortobjekte (res) und können Code ausführen, Änderungen vornehmen oder den Anforderungs-Antwort-Zyklus beenden.

Hauptmerkmale:

  • Code ausführen: Sie können jede beliebige Logik oder Operation ausführen.
  • Anfrage/Antwort ändern: Middleware kann Header aktualisieren, Daten zur Anforderung hinzufügen oder das Res-Objekt ändern.
  • Anfrage-Antwort-Zyklus beenden: Middleware kann Daten an den Client zurücksenden und den Zyklus beenden.

z. B.) In diesem Beispiel fügt Middleware benutzerdefinierte Daten zum Anforderungsobjekt hinzu und der Routenhandler greift darauf zu.

app.use((req, res, next) => {
  req.customData = 'Some custom data';
  next();
});

app.get('/', (req, res) => {
  res.send(`Data from middleware: ${req.customData}`);
});

5. Aufruf der nächsten Middleware

Im obigen Beispiel verwende ich next(), um die Kontrolle an die nächste Middleware oder den nächsten Routenhandler zu übergeben. Ohne den Aufruf von next() würde die Anfrage hängen bleiben, da der Zyklus nicht vorwärts gehen würde.

z.B.) Dadurch wird sichergestellt, dass jedes Teil der Middleware die Kontrolle an das nächste in der Kette weitergeben kann.

const express = require('express'); 
const app = express();

app.use((req, res, next) => {
  console.log('Middleware running for every request.');
  next();
});

6. Express-Router verwenden

Express Router ist ein großartiges Tool zum Organisieren von Routen in modularen Anwendungen. Es hilft Ihnen, Ihre Routen in kleinere, überschaubare Teile zu unterteilen.

z. B.) In diesem Beispiel ist der Router unter /users gemountet und Anfragen an /users/profile werden von der Route des Routers verarbeitet.

app.use('/users', (req, res, next) => {
  console.log('Middleware only for /users route.');
  next();
});

7. Middleware zur Cookie-Sitzungsverwaltung

Der Umgang mit Sitzungen und Cookies ist für die Verwaltung der Benutzerauthentifizierung und des Benutzerstatus von entscheidender Bedeutung. Express.js stellt Middleware zur Verwaltung von Sitzungsdaten bereit.

z.B.) Mit Express-Session initialisiere ich eine Sitzung und lege Sitzungsdaten fest, auf die während der gesamten Sitzung des Benutzers zugegriffen werden kann.

app.get('/users', (req, ress) => {
  res.send('Fetching all users');
});

app.post('/users', (req, res) => {
  res.send('Creating a new user');
});

app.put('/users/:id', (req, res) => {
  res.send(`Updating user with ID: ${req.params.id}`);
});

app.delete('/users/:id', (req, res) => {
  res.send('Deleting user with ID: ${req.params.id}`);
});

8. Vorlagenvariablen

Beim Rendern von Ansichten mit Template-Engines können Sie Variablen übergeben, um Inhalte dynamisch zu generieren. In EJS können Sie beispielsweise Variablen zum Rendern an Ihre Ansichten übergeben.

z.B.)In diesem Beispiel übergebe ich die Titel- und Nachrichtenvariablen an die EJS-Vorlage.

app.use((req, res, next) => {
  req.customData = 'Some custom data';
  next();
});

app.get('/', (req, res) => {
  res.send(`Data from middleware: ${req.customData}`);
});

9. EJS (eingebettetes JavaScript)

EJS ist eine beliebte Template-Engine, mit der Sie HTML schreiben und JavaScript direkt in die HTML-Struktur einbetten können. Es ist einfach, aber leistungsstark und lässt sich gut in Express.js für dynamische Webseiten integrieren.

z.B.) Das <%= %> Die Syntax wird verwendet, um JavaScript-Ausdrücke in den HTML-Code einzufügen.

app.use((req, res, next) => {
  console.log('First middleware');
  next();
});

app.use((req, res, next) => {
  console.log('Second middlware');
});

Das obige ist der detaillierte Inhalt vonErstellen einer Website mit Node.js und Express.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn