Node.js Erstellen Ihrer ersten Anwendung

In der traditionellen PHP-Entwicklung wird ein HTTP-Server wie Apache oder Nginx benötigt, und mod_php oder php-cgi muss konfiguriert werden, um PHP-Skripte zu verarbeiten und dadurch dynamische Inhalte zu erzeugen. Mit anderen Worten: PHP ist auf einen externen HTTP-Server angewiesen, um Anfragen zu empfangen und Webseiten bereitzustellen.

Node.js selbst verfügt über ein integriertes HTTP-Servermodul. Das bedeutet, dass Entwickler bei der Entwicklung mit Node.js direkt das HTTP-Modul von Node.js verwenden können, um einen Server zu erstellen, HTTP-Anfragen zu verarbeiten und Webseiten zu generieren. Daher sind in Node.js die Logik einer Webanwendung und die Implementierung des HTTP-Servers eng miteinander integriert, und Entwickler müssen nicht auf externe HTTP-Server-Software angewiesen sein.

Bevor wir unsere erste Node.js-"Hello, World!"-Anwendung erstellen, wollen wir zunächst verstehen, aus welchen Teilen eine Node.js-Anwendung besteht:

  • require-Anweisung: In Node.js wird die require-Anweisung verwendet, um Module zu laden und zu importieren. Bei den importierten Modulen kann es sich um integrierte Module, Module von Drittanbietern oder benutzerdefinierte Module handeln.

  • Einen Server erstellen:Der Server kann auf Client-Anfragen lauschen, ähnlich wie HTTP-Server wie Apache und Nginx.

  • Anfragen empfangen und beantwortenDer Server ist sehr einfach zu erstellen. Clients können HTTP-Anfragen über einen Browser oder ein Terminal senden, und nach dem Empfang der Anfrage gibt der Server Antwortdaten zurück.


Eine Node.js-Anwendung erstellen

Schritt 1: Verwenden Sie die require-Anweisung, um Module zu laden und zu importieren

Die Syntax lautet wie folgt:

const module = require('module-name');

Hier kann module-name ein Dateipfad (relativ oder absolut) oder ein Modulname sein. Wenn es ein Modulname ist, sucht Node.js automatisch nach dem Modul im Verzeichnis node_modules.

Die require-Direktive gibt das exportierte Objekt des geladenen Moduls zurück, über das Sie auf die im Modul definierten Eigenschaften und Methoden zugreifen können. Wenn das Modul mehrere exportierte Objekte hat, können Sie Destrukturierungszuweisung verwenden, um sie abzurufen.

Wir verwenden dierequire-Direktive, um das http-Modul zu laden, und weisen das instanziierte HTTP der Variablen http zu, wie im folgenden Beispiel gezeigt:

var http = require("http");

Schritt 2: Einen Server erstellen

Als Nächstes verwenden wir die Methode http.createServer(), um einen Server zu erstellen, und verwenden die Methode listen, um an Port 8888 zu binden. Die Funktion empfängt und beantwortet Daten über die Parameter request und response.

Hier ist ein Beispiel. Erstellen Sie eine Datei namens server.js im Stammverzeichnis Ihres Projekts und schreiben Sie den folgenden Code:

Beispiel

var http = require('http');

http.createServer(function (request, response) {

        // HTTP-Header senden
        // HTTP-Statuswert: 200 : OK
        // Inhaltstyp: text/plain
        response.writeHead(200, {'Content-Type': 'text/plain'});

        // Antwortdaten senden "Hello World"
        response.end('Hello World\n');
}).listen(8888);

// Das Terminal gibt die folgende Information aus
console.log('Server running at http://127.0.0.1:8888/');

Mit dem obigen Code haben wir einen funktionierenden HTTP-Server erstellt.

Verwenden Sie den Befehlnode, um den obigen Code auszuführen:

node server.js
Server running at http://127.0.0.1:8888/

Öffnen Sie als Nächstes einen Browser und besuchen Sie http://127.0.0.1:8888/. Sie werden eine Webseite mit "Hello World" sehen.

Analysieren Sie den Node.js-HTTP-Server:

  • const http = require('http');: Node.js-Bordmittel importierenhttpModul.
  • http.createServer((req, res) => { ... });: Einen neuen HTTP-Server erstellen, der bei jeder Anfrage die Callback-Funktion ausführt.
  • res.writeHead(200, { 'Content-Type': 'text/plain' });: Den Antwort-Statuscode und den Inhaltstyp festlegen.
  • res.end('Hello World\n');: Die Antwort beenden und Daten senden.
  • server.listen(PORT, () => { ... });: Auf dem angegebenen Port lauschen und nach dem Serverstart Informationen ausgeben.

GIF-Beispieldemonstration

Als Nächstes demonstrieren wir die Beispieloperation mit einem GIF:

Andere Erweiterungen