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.
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.
- 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.
- 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.
- 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.
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.
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! .
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.
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.
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!

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.
