Heim Web-Frontend Front-End-Fragen und Antworten So übertragen Sie NodeJS-Daten an das Frontend

So übertragen Sie NodeJS-Daten an das Frontend

May 14, 2023 pm 12:31 PM

Mit der Popularität von Node.js beginnen immer mehr Entwickler, diese Technologie zum Erstellen von Webanwendungen zu nutzen. Als Back-End-Technologie kann Node.js auf verschiedene Weise Daten an die Front-End-Seite übertragen. Hier sind einige Techniken zum Übertragen von Node.js-Daten an das Frontend:

  1. RESTful API

RESTful API ist derzeit eine der beliebtesten Webservice-Architekturen. Node.js kann Frameworks wie Express.js oder Hapi verwenden, um RESTful-APIs zu entwickeln. Die RESTful-API basiert auf dem HTTP-Protokoll, das Daten über die Methoden GET, POST, PUT oder DELETE an den Client senden kann. Das Front-End fordert diese APIs über AJAX an, und dann gibt der Server Daten im JSON-Format (JavaScript Object Notation) zur Verwendung durch das Front-End zurück.

Hier ist ein einfaches Beispiel:

Zuerst müssen wir einen serverseitigen Code mit dem Express.js-Framework erstellen:

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

app.get('/api/users', (req, res) => {
  const users = [
    { name: 'Alice', age: 25 },
    { name: 'Bob', age: 30 },
    { name: 'Chris', age: 35 },
  ];
  res.json(users);
});

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

Hier verwenden wir das Express.js-Framework, um eine RESTful-API zu erstellen. Wenn der Client /api/users anfordert, gibt der Server JSON-Daten zurück, die Benutzerinformationen enthalten.

AJAX-Aufrufe mit jQuery durchführen:

$.ajax({
  url: '/api/users',
  type: 'GET',
  success: function(data) {
    console.log(data);
  },
  error: function(xhr, textStatus, error) {
    console.log(xhr.statusText);
  }
});
  1. WebSockets

WebSocket ist ein Echtzeit-Kommunikationsprotokoll, das eine bidirektionale Kommunikation zwischen dem Browser und dem Server ermöglicht. Node.js kann die Bibliothek socket.io verwenden, um die WebSocket-Funktionalität zu implementieren. Mithilfe von WebSockets kann der Server Echtzeitdaten an den Client senden, was effizienter ist als kurze und lange Abfragemethoden (Polling).

Hier ist ein einfaches Beispiel:

Zuerst müssen wir den serverseitigen Code mithilfe der socket.io-Bibliothek erstellen:

const app = require('http').createServer(handler);
const io = require('socket.io')(app);
const fs = require('fs');

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

function handler(req, res) {
  fs.readFile(__dirname + '/index.html', function(err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }
    res.writeHead(200);
    res.end(data);
  });
}

io.on('connection', function(socket) {
  setInterval(() => {
    const number = Math.floor(Math.random() * 10);
    socket.emit('number', number);
  }, 1000);
});

Hier verwenden wir die socket.io-Bibliothek, um einen WebSocket-Server zu erstellen. Wenn der Client eine Verbindung zum Server herstellt, startet der Server einen Timer im Abstand von 1 Sekunde und sendet eine Zufallszahl an den Client.

Client-Code (index.html):

<!doctype html>
<html>
  <head>
    <title>WebSockets Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
    <script>
      var socket = io.connect('http://localhost:3000');
      socket.on('number', (data) => {
        document.getElementById('container').innerHTML = 'Random number: ' + data;
      });
    </script>
  </body>
</html>

Hier verwenden wir die socket.io-Bibliothek, um eine WebSocket-Verbindung mit dem Server herzustellen und den Ereignis-Listener „Nummer“ zu registrieren. Wenn der Server eine Nummer übergibt, zeigt der Client die Nummer an.

  1. Server-Sent Events

Server-Sent Events (SSE) ist eine Technologie, die einen Strom von Ereignissen an den Client weiterleitet. SSE ermöglicht es dem Server, Daten in Echtzeit an den Client zu senden, ohne dass der Client eine Anfrage an den Server stellt. Node.js kann die EventSource-Bibliothek verwenden, um das Streaming von Server-Push-Ereignissen zu unterstützen.

Das Folgende ist ein einfaches Beispiel:

Servercode:

const http = require('http');

http.createServer((req, res) => {
  res.writeHead(200, {
    'Content-Type': 'text/event-stream',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
  });

  setInterval(() => {
    const data = { time: new Date().toTimeString() };
    res.write(`event: time
`);
    res.write(`data: ${JSON.stringify(data)}

`);
  }, 1000);
}).listen(3000);

console.log('Server started on port 3000');

Hier verwenden wir das HTTP-Modul von Node.js, um einen SSE-Server zu erstellen. Wenn der Client eine Verbindung zum Server herstellt, sendet der Server alle 1 Sekunde einen Ereignisstrom und eine Nachricht mit der aktuellen Uhrzeit.

Client-Code:

<!doctype html>
<html>
  <head>
    <title>Server-Sent Events Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script>
      const eventSource = new EventSource('http://localhost:3000');
      eventSource.addEventListener('time', (event) => {
        const data = JSON.parse(event.data);
        document.getElementById('container').innerHTML = data.time;
      });
    </script>
  </body>
</html>

Hier verwenden wir das EventSource-Objekt von JavaScript, um den vom Server gepushten Ereignisstrom abzuhören. Wenn im Ereignisstrom ein „Zeit“-Ereignis vorhanden ist, zeigt der Client die aktuelle Uhrzeit an.

Fazit

Durch den Einsatz der oben genannten Technologie können wir problemlos Daten von Node.js auf die Front-End-Seite übertragen. RESTful APIs, WebSockets und vom Server gesendete Ereignisse sind hervorragende Möglichkeiten, dieses Ziel zu erreichen.

Das obige ist der detaillierte Inhalt vonSo übertragen Sie NodeJS-Daten an das Frontend. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie können CSS-Gradienten (linear Gradient, Radialgradient) verwendet werden, um umfangreiche Hintergründe zu erzeugen? Wie können CSS-Gradienten (linear Gradient, Radialgradient) verwendet werden, um umfangreiche Hintergründe zu erzeugen? Jun 21, 2025 am 01:05 AM

CsgradientSenHanceBackgroundsWithdePTHandvisualAppal.1.StartWitHinarArtorsForsmoothColorTransitionSalononononongalin, spezifizierende Direktion und ColorStops.2.UseradialgradientsforcUrculareffects, adjateShapeAndCenterposition.3.LayerMultiPlactractractacentocrecrecre

Was sind Aria -Attribute Was sind Aria -Attribute Jul 02, 2025 am 01:03 AM

AriaattributesenhancewebAccessibilityforusers withDisabilities ByprovidingAdditionalsemanticinformationtoassistivetechnologien

Was ist Paket Bundler Was ist Paket Bundler Jun 26, 2025 am 02:10 AM

Parcel ist ein Front-End-Verpackungswerkzeug mit Nullkonfiguration, das nicht in der Box funktioniert. Es verarbeitet automatisch Ressourcen wie JS, CSS und Bilder durch intelligente Standardwerte. Es erfordert keine manuelle Konfiguration von Babel oder Postcs. Sie müssen nur die Eintragsdatei angeben, um den Entwicklungsserver zu starten oder die Produktionsversion zu erstellen. Es unterstützt mehrere Sprachen und Ressourcentypen wie React, TypeScript, SASS. Es verwendet die Multi-Core-Zusammenstellung, die von Rost erzielt wird, um die Leistung zu verbessern, und bietet freundliche Erlebnisse wie heiße Aktualisierungen, klare Fehleraufforderungen und lokale Entwicklung von HTTPS. Es ist geeignet, um schnell Projekte oder Szenarien mit geringen Konfigurationsanforderungen zu erstellen, ist jedoch möglicherweise nicht so anwendbar wie Webpack oder vite unter stark angepassten Anforderungen.

So testen Sie die Reaktionskomponenten So testen Sie die Reaktionskomponenten Jun 26, 2025 am 01:23 AM

Der Schlüssel zum Testen von React -Komponenten besteht darin, die richtigen Tools auszuwählen und das Benutzerverhalten zur Überprüfung zu simulieren. 1. Verwenden Sie Mainstream-Tools wie Scherz und ReactTestingLibrary (RTL), um die Interaktionsauthentizität mit Benutzer-Event zu verbessern. 2. Beim Schreiben von Unit -Tests, die Komponenten durch Renderung durchführen, Knoten mit Bildschirm abfragen und Ergebnisse geltend machen; 3.. Verwenden Sie FireEvent oder Uservent, um Klicks, Eingaben und andere Vorgänge zu simulieren, um Statusänderungen zu überprüfen. 4. Snapshot -Tests eignet sich zur Änderung der Änderung der statischen UI -Strukturen, kann jedoch keine Verhaltenstests ersetzen. Diese Methoden können die Stabilität und Wartbarkeit von Komponenten effektiv verbessern.

Was ist Redux State Management Was ist Redux State Management Jun 24, 2025 am 11:05 AM

Redux ist ein Tool, mit dem der Zustand in JavaScript -Anwendungen zentral verwaltet wird und für Situationen geeignet ist, in denen die Kommunikation zwischen Komponenten großer Projekte häufig und der Zustand schwer zu warten ist. 1. Geben Sie eine einzige Datenquelle an, und alle Zustände werden im Unified Store gespeichert. 2. Der Staat ist schreibgeschützt, und die Absicht wird durch Aktionsbeschreibung aktualisiert. 3. Verwenden Sie die Reduzierin der reinen Funktion, um Zustandsänderungen durchzuführen. In der tatsächlichen Entwicklung werden reduxtoolkit und react-redux häufig zusammengefasst, um den Vorgang zu vereinfachen, aber nicht alle Projekte müssen verwendet werden. Der Missbrauch des globalen Zustands und der Nebenwirkungen im Reduzierer sollte vermieden werden.

So minimieren Sie HTTP -Anfragen So minimieren Sie HTTP -Anfragen Jul 02, 2025 am 01:18 AM

Lassen Sie uns direkt über die wichtigsten Punkte sprechen: Zusammenführen von Ressourcen, Reduzieren von Abhängigkeiten und Verwendung von Caches sind die Kernmethoden zur Reduzierung von HTTP -Anforderungen. 1. Zusammenführen von CSS und JavaScript -Dateien, fusionieren Sie Dateien in der Produktionsumgebung durch Erstellen von Tools und behalten Sie die modulare Entwicklungsstruktur bei. 2. Verwenden Sie Picture Sprite oder Inline Base64 -Bilder, um die Anzahl der Bildanforderungen zu reduzieren, die für statische kleine Symbole geeignet sind. 3.. Setzen Sie die Browser -Caching -Strategie und beschleunigen Sie die Ressourcenbelastung mit CDN, um die Ressourcenbelastung zu beschleunigen, die Zugriffsgeschwindigkeit zu verbessern und den Serverdruck zu dispergieren. 4. Verzögern Sie das Laden nicht kritischer Ressourcen, z. B. Lade- oder asynchronen Ladeskripte, reduzieren Sie die anfänglichen Anforderungen und achten Sie darauf, dass Sie die Benutzererfahrung nicht beeinflussen. Diese Methoden können die Webseitenladenleistung erheblich optimieren, insbesondere im mobilen oder im schlechten Netzwerk

Was ist React -Komponentenlebenszyklus Was ist React -Komponentenlebenszyklus Jun 24, 2025 pm 04:05 PM

Der Lebenszyklus der React -Komponente ist in drei Stufen unterteilt: Mount, Update und Deinstallation. Jede Stufe hat eine entsprechende Lebenszyklus -Hakenfunktion. 1. Die Mount -Phase enthält Constructor () zum Initialisierungsstatus, Render () gibt JSX -Inhalte zurück, componentDidmount () ist geeignet, um Datenanforderungen oder Timer einzustellen. 2. Die Update-Phase enthält Render (), um die Benutzeroberfläche erneut zu rendern. componentDidUpdate (PrevProps, PrevState) wird verwendet, um Nebenwirkungen zu verarbeiten, z. B. das Erhalten neuer Daten gemäß den staatlichen Änderungen. 3. Die Deinstallationsphase ist Komponentiermount (), mit dem der Timer reinigt wird

Was ist Frontend -Protokollierung und Überwachung Was ist Frontend -Protokollierung und Überwachung Jun 24, 2025 pm 02:30 PM

Das Front-End benötigt Protokolle und Überwachung, da seine Betriebsumgebung komplex und wechselhaft ist und es schwierig ist, Probleme zu reproduzieren. Die Protokolle können schnell Probleme finden und die Erfahrung optimieren. 1. Die gemeinsamen Protokolltypen umfassen Fehlerprotokolle (JS -Fehlerbericht, Ausfall des Ressourcenladens), Verhaltensprotokolle (Benutzeroperationspfad), Leistungsprotokolle (Ladezeit, FP, FCP) und benutzerdefinierte Protokolle (Geschäftspunkt). 2. Die Schritte zur Implementierung der Front-End-Überwachung umfassen das Fangen von Ausnahmen, das Sammeln von Leistungsdaten, die Berichterstattungsprotokolle, das zentralisierte Management und die Anzeige. 3. In dem tatsächlichen Gebrauch sollten Sie darauf achten, dass Sie Übersammlung, Datenschutzschutz, falsche De-Aggregation und die Kombination von Sourcemap zur Analyse von Stapelinformationen zur korrekten Lokalisierung von Problemen beachten.

See all articles