Heim >Web-Frontend >js-Tutorial >Lerner-serverseitiger JavaScript mit node.js

Lerner-serverseitiger JavaScript mit node.js

Lisa Kudrow
Lisa KudrowOriginal
2025-03-13 10:35:10440Durchsuche

Node.js: ein modernes Framework zum Aufbau leistungsstarker Echtzeit-Webanwendungen

Node.js ist ein wichtiger Framework in der modernen Webentwicklung. Mit node.js kann JavaScript sowohl auf der Serverseite als auch auf der Client-Seite von End-to-End verwendet werden. Dieses Tutorial führt Sie durch die Installation von Node.js und demonstrieren, wie das erste "Hello World" -Programm schreibt. Letztendlich lernen Sie, wie Sie eine Wetter -API mit node.js erstellen und ausdrücken.

Was ist node.js?

Traditionell kann JavaScript nur in Webbrowsern ausgeführt werden, aber Node.js entstand aufgrund des wachsenden Interesses, es auf die Serverseite zu bringen.

Node.js unterscheidet sich geringfügig von anderen Servertechnologien, da es eher auf Ereignissen als auf Threads basiert. Webserver wie Apache, die zum Servieren von PHP und anderen CGI-Skripten verwendet wurden, sind threadbasiert, da sie für jede eingehende Anforderung einen System-Thread generieren. Während dies für viele Anwendungen ausreicht, ist das Thread-basierte Modell beim Umgang mit vielen Langzeitverbindungen (z. B. den für die Servieranwendungen erforderlichen Verbindungen wie Instant Messaging-Anwendungen nicht skalierbar.

"Jede E/A -Operation in node.js ist asynchron ..."

Node.js verwendet Ereignisschleifen anstelle von Threads und kann auf Millionen von gleichzeitigen Verbindungen skalieren. Es nutzt die Tatsache, dass der Server die meiste Zeit damit verbringt, auf E/A -Operationen zu warten (z. B. Lesen von Dateien von der Festplatte, auf externe Webdienste zuzugreifen oder auf die Abschluss von Dateien zu warten), da diese Vorgänge viel langsamer sind als Speichervorgänge. Jeder E/A -Betrieb in node.js ist asynchron, was bedeutet, dass der Server eingehende Anforderungen weiter verarbeiten kann, während der E/A -Vorgang im Gange ist. JavaScript eignet sich hervorragend für ereignisbasierte Programme, da es über anonyme Funktionen und Schließungen verfügt, wodurch die Definition von Inline-Rückrufen zu einem Kinderspiel und JavaScript-Entwickler bereits wissen, wie man auf diese Weise programmiert. Dieses ereignisbasierte Modell macht Node.js sehr schnell und macht die Skalierung von Echtzeit-Anwendungen sehr einfach.

  1. Installieren

Node.js unterstützt offiziell Linux, MacOS, Microsoft Windows, Smartos und FreeBSD. So installieren Sie die neueste Version von node.js unter Windows (v16 und später), Ihr Computer muss Windows 8.1, 10 oder 11 ausgeführt werden.

NODE.JS hat einen eigenen Paketmanager integriert, der Kurzfilm namens Node Paket Manager (NPM) integriert, mit dem Sie Module von Drittanbietern aus der NPM-Registrierung installieren können.

  1. Laden Sie die neueste Version von node.js von nodejs.org herunter (die neueste Version ist 17.9.0 zum Zeitpunkt des Schreibens und die neueste LTS -Version 16.14.2). Dies sollte die .msi -Datei auf Ihrem Computer herunterladen.
  2. Führen Sie die Datei aus und vervollständigen Sie den Installationsassistenten. Die meisten Optionen sind optional - es sei denn, Sie haben einen guten Grund, müssen Sie den Programmpfad nicht ändern. Sie können Schokolade (einen Windows -Paket -Manager) installieren oder diesen Schritt überspringen.
  3. Nachdem der Installationsassistent fertiggestellt wurde und Node.js erfolgreich installiert ist, öffnen Sie das Terminal und führen Sie npm -v aus, um die NPM -Version anzuzeigen.

Wenn Sie in Ihrem Programm nach Node suchen, sollten Sie die Eingabeaufforderung node.js finden.

Lerner-serverseitiger JavaScript mit node.jsLerner-serverseitiger JavaScript mit node.jsLerner-serverseitiger JavaScript mit node.jsLerner-serverseitiger JavaScript mit node.js Die Eingabeaufforderung bietet eine Reply (Read-Evaluation-Print-Schleife), in der Sie Javascript node.js-Code eingeben und den Code sofort auswerten und das Ergebnis ausgeben können. Sie können JavaScript auch aus externen Dateien in Reply -Sessions und mehr laden.

  1. Hallo Welt!

Das Erlernen einer neuen Technologie beginnt mit dem "Hello World!"

Erstens werden wir ein neues Node.js -Projekt erstellen. Öffnen Sie dazu Ihr Terminal, wechseln Sie zum Verzeichnis, in dem sich das Projekt befinden soll, und führen Sie den folgenden Befehl aus:

 npm init

Sie werden aufgefordert, einige Informationen über die Bibliothek anzugeben, einschließlich der Bibliotheksnamen, des Autors, der Eintragsdatei, der Lizenz und der Version. Um diesen Schritt zu überspringen, fügen Sie die require Funktion wie unten gezeigt (innerhalb von test.js ).

 var util = required ("util");

Dies lädt das util -Modul, das Dienstprogrammfunktionen für Aufgaben auf Systemebene wie das Druckausgang an einem Terminal enthält. Um eine Funktion in einem Modul zu verwenden, rufen Sie sie in den Variablen auf, die das Modul speichern - in diesem Fall den Befehl Knoten mit dem Dateinamen als Parameter.

 Node test.js

Durch das Ausführen dieses Befehls wird "Hello World!" In der Befehlszeile ausgegeben.

Um einen HTTP -Server zu erstellen, müssen Sie das http -Modul verwenden.

 var util = required ("util");
var http = required ("http");

http.createServer (Funktion (req, res) {{
  res.writeHead (200, {'content-type': 'text/html'});
  Res.Write ('Hallo Welt!');
  res.end ();
}). Hören (8080);

util.log ("Server, der unter https: // localhost: 8080/") ausgeführt wird;

Dieses Skript importiert das http -Modul und erstellt einen HTTP -Server. Die anonyme Funktion, die an http.createServer() übergeben wird, wird ausgeführt, wenn die Anfrage eingegangen ist. Besuchen Sie http://localhost:8080/ in Ihrem Browser und Sie werden Hello World sehen! .

Lerner-serverseitiger JavaScript mit node.js 3. Ein einfacher statischer Dateiserver

Ok, wir haben einen HTTP -Server erstellt, aber egal welche URL Sie besuchen, er wird nichts als "Hallo Welt" senden. Jeder HTTP -Server muss in der Lage sein, statische Dateien wie HTML -Dateien, Bilder und andere Dateien zu senden. So macht der folgende Code:

 var util = require ("util"),
    http = required ("http"),
    URL = erfordern ("URL"),
    Pfad = erfordern ("Pfad"),
    fs = erfordern ("fs");

http.createServer (Funktion (Anfrage, Antwort) {
    var uri = path.parse (request.url) .base;
    var Filename = path.join (process.cwd (), URI);
    fs.access (Dateiname, fs.constants.f_ok, function (err) {
        if (err) {
            Antwort.WriteHead (404, {"Inhaltstyp": "text/plain"});
            Antwort.Write ("404 nicht gefunden \ n");
            Antwort.end ();
            zurückkehren;
        }

        fs.ReadFile (Dateiname, "binär", Funktion (Err, Datei) {
            if (err) {
                Antwort.WriteHead (500, {"Inhaltstyp": "text/plain"});
                Antwort.Write (err "\ n");
                Antwort.end ();
                zurückkehren;
            }

            Antwort.WriteHead (200);
            Antwort.Write (Datei, "binär");
            Antwort.end ();
        });
    });
}). Hören (8080);

util.log ("Server, der unter http: // localhost: 8080/") ausgeführt wird;

Wir müssen zunächst alle Module in unserem Code verwenden. Dies schließt http , path und url -Module ein, die die angeforderte eingehende URL analysieren und den Pfadnamen der Zugriffsdatei finden. Wir verwenden process.cwd() (oder das aktuelle Arbeitsverzeichnis) und den Pfad zur angeforderten Datei, um den tatsächlichen Dateinamen auf der Festplatte des Servers zu finden.

Als nächstes überprüfen wir, ob die Datei vorhanden ist, was eine asynchrone Operation ist, sodass die Rückruffunktion erforderlich ist. Wenn die Datei nicht vorhanden ist, wird eine 404 nicht gefundene Nachricht an den Benutzer gesendet und die Funktion kehrt zurück. Andernfalls verwenden wir fs.readFile() um die Datei zu lesen. Wenn Sie in Ihrem Browser http://localhost:8080/path/to/file zugreifen, wird die Datei in Ihrem Browser angezeigt.

Lerner-serverseitiger JavaScript mit node.js 4. Bauen Sie die Wetter -API in Node.js mit Express auf

Basierend auf unserem statischen Dateiserver erstellen wir einen Node.js -Server, der die erwarteten Wetterbedingungen für eine bestimmte Stadt erhält und anzeigt. Erstens benötigen wir in diesem Beispiel zwei zusätzliche Module von Drittanbietern: das axios -Modul und das express Modul. Express ist ein Web -Framework zum Aufbau von erholsamen APIs in Node.js -Anwendungen. Wir werden das Express -Modul verwenden, um einen einzelnen API -Endpunkt zu erstellen, der die Stadt von jeder Anfrage abruft und mit einer HTML -Körperschaft reagiert, die die Wetterbedingungen für die Vorhersage der Stadt enthält. Die Wetterinformationen stammen aus der externen API. Daher stellen wir API -Anfragen mit axios -Client aus.

Zunächst installieren wir die express und axios -Module gleichzeitig mit den folgenden Befehlen:

 NPM I Expressachse

Dadurch werden beide Module aus der NPM -Registrierung installiert. Ersetzen Sie app.get() durch den folgenden Code:

 app.get ('/', (req, res) => {
    lass City = req.query.city;

    axios.get (`https://api.openweathermap.org/data/2.5/forecast?q=$ {City} & appid = {apikey}`)
        .then ((Antwort) => {
            if (response.status === 200) {
                Res.Send ("Das Wetter in Ihrer Stadt" $ {City} "ist<br>
                $ {response.data.list [0] .Weather [0] .Description} `)
            }
        })
        .Catch ((err) => {
            console.log (err);
        })
})

Wir holen zuerst die Abfragezeichenfolge (Stadt) aus query Anfragemobilie ab.

Wir verwenden dann axios , um eine GET -Anfrage an die API der Wettervorhersage auszustellen. Die URL benötigt zwei Variablen: Wir möchten die prognostizierte Stadt und den einzigartigen API -Schlüssel im offenen Wetter -API -Informationszentrum erhalten.

Wir haben eine res.send() -Methode eingerichtet. Wenn ein Fehler auftritt, können wir die Fehlerdaten einfach an der Konsole protokollieren, indem wir node test.js in der Befehlszeile ausführen und die folgende URL in den Browser eingeben:

 <code>http://localhost:3000/?city=nairobi</code>

Bitte beachten Sie, dass Nairobi durch jede Stadt Ihrer Wahl ersetzt werden kann. Hier sind die Ergebnisse, die Sie erhalten sollten.

Lerner-serverseitiger JavaScript mit node.js Nächste Schritte

Node.js ist eine sehr aufregende Technologie, die die Schaffung von Echtzeitanwendungen mit leistungsstarker Leistung vereinfacht. Ich hoffe, Sie können die Vorteile davon sehen und in einigen Ihrer eigenen Anwendungen verwenden können. Da Node.js über ein leistungsstarkes Modulsystem verfügt, können Sie in Ihrer Anwendung die Verwendung von Open-Source-Drittanbietern einfach verwenden, und fast alles verfügt über Module: einschließlich einer Datenbankverbindungsebene, einer Vorlagen-Engine, eines Mail-Clients und sogar einem vollständigen Framework zum Anschließen aller Inhalte.

Ich wünsche Ihnen ein fröhliches Node.js -Programm!

Dieser Artikel wurde aktualisiert und enthält Beiträge von Kingsley Ubah. Kingsley ist begeistert davon, Inhalte zu erstellen, die die Leser erziehen und inspirieren. Zu den Hobbys gehören Lesen, Fußball und Radfahren.

Das obige ist der detaillierte Inhalt vonLerner-serverseitiger JavaScript mit node.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