KnotenJS

Was ist NodeJS?

Was ist NodeJS?

In diesem Tutorial beginnen wir mit Node.js. Erfahren Sie mehr über einige der beliebtesten Funktionen und versuchen Sie, die Leser zu motivieren, diese wunderbare Technologie für ihre zukünftigen Projekte zu übernehmen. Voraussetzung ist lediglich, dass Sie mit JavaScript und generischen Programmierkonzepten wie Variablen, Datentypen und Funktionen vertraut sind.

JavaScript hat eine seltsame Geschichte. Es begann als leichte Skriptsprache für Webbrowser und wurde eher wie ein "Spielzeug" denn wie eine ernsthafte Programmiersprache behandelt. Aber es ist längst seinen bescheidenen Anfängen entwachsen.

Die Leute begannen, seine Fähigkeiten zu erweitern, als Google den JavaScript-Interpreter von Chrome - die V8-Engine - als Open Source freigab. Knoten.js nimmt diese JavaScript-Engine und erweitert sie so, dass sie außerhalb des Bereichs des Browsers funktioniert. Knoten.js bindet JavaScript an die API Ihres Betriebssystems, damit es nativ auf dem Server (oder im Falle eines Entwicklers auf seinem Desktop) ausgeführt werden kann. Ja, das bedeutet, dass Sie serverseitige Anwendungen, Desktopanwendungen und Backend-Mechanismen implementieren können, indem Sie nur eine Sprache lernen – JavaScript.

Einfach gesagt, du kannst schreiben .js Dateien, die in JavaScript-Syntax geschriebene Programme enthalten, die von Node interpretiert werden.js ähnlich wie .py Dateien mit gültiger Syntax werden vom Python-Interpreter interpretiert/ausgeführt.

Es geht jedoch um mehr als nur die Sprache zu beherrschen, Node.js hat unbekannte Module und Konzepte, die Geduld in einem endlosen Zyklus des Erlernens neuer Konzepte erfordern würden. Es verfügt über einen eigenen Paketmanager (npm), einen Versionsmanager (nvm) und die weltweit größte Paketregistrierung. Seien Sie versichert, die anfängliche Schwierigkeit wird Ihr Leben auf lange Sicht viel einfacher machen.

Installation

Derzeit gibt es zwei Optionen für Node.js-Versionen, die Sie in Betracht ziehen sollten.

Wir bleiben bei der LTS-Version. Wenn Sie Node von der offiziellen Website für Ihr Betriebssystem herunterladen, wird auch der Node Package Manager (npm) installiert. Es ist schwierig, über Node zu sprechen.js, ohne in npm einzusteigen. Wir kommen später auf den Paketmanager zurück. Wenn Sie Ubuntu oder eine andere Debian-Distribution verwenden, verwenden Sie einfach:

$ sudo apt install nodejs

Für alle Binärdateien und den Quellcode besuchen Sie die offizielle Download-Seite.

Das war's mit der Installation, Zeit zu sagen: „Hallo, Welt“!”

Hallo Welt! Und einen Server erstellen

Wie versprochen, erstellen wir a Hallo.js Datei und führen Sie sie mit Node . aus. In einer Nur-Text-Datei namens Hallo.js, wir schreiben folgende Zeile:

Konsole.log(“Hallo Welt!“);

Speichern Sie nun die Datei und öffnen Sie ein Terminal im selben Verzeichnis wie diese Datei und führen Sie den folgenden Befehl aus:

$node hallo.js
#Oder du kannst laufen
$node hallo

Dadurch erhalten Sie die gewünschte Ausgabe von "Hallo Welt". Genau wie Vanille-JavaScript. Aber sicher können wir es besser machen…

Im Gegensatz zu PHP-basierten Anwendungen, die Apache oder Nginx oder ein anderes Webserverprogramm benötigen, um darauf zu laufen, schreiben wir in Node unsere eigenen http-Routen, konfigurieren die Ports und Hostnamen und verarbeiten HTTP-Anfragen, um entsprechende Antworten zu geben.

Klingt nach viel Arbeit, ist aber nur eine erste Hürde in der Lernkurve, und wenn Sie einmal den Dreh raus haben, werden Sie in der Lage sein, Webanwendungen tiefer denn je zu verstehen. Lassen Sie uns einen Webserver erstellen, der auf Port 3000 auf localhost lauscht und als Antwort eine Textdatei zurückgibt. Datei erstellen App.js mit folgendem Inhalt:

const http = require('http');
konstanter Hostname = '127.0.0.1';
konstanter Port = 3000;
const-Server = http.createServer((req, res) =>
res.Statuscode = 200;
res.setHeader('Inhaltstyp', 'Text/einfach');
res.end('Hallo Welt\n');
);
Server.lauschen(Port, Hostname, () =>
Konsole.log('Server läuft unter http://$hostname:$port/');
);

Bevor wir auf die Details des Codes eingehen, speichern Sie diese Datei und öffnen Sie ein Terminal im selben Verzeichnis wie die Datei, und führen Sie dann Folgendes aus:

$-Knoten-App

Dadurch wird der Inhalt von ausgeführt App.js Datei und Sie erhalten eine Ausgabe wie folgt:

Öffnen Sie einen Webbrowser und besuchen Sie http://localhost:3000/ oder http://127.0.0.1:3000/ um einen einfachen Hallo-Welt-Text in Ihrem Browserfenster zu sehen.

Also was haben wir gerade gemacht? Nun, wenn Sie mit JavaScript vertraut sind, können Sie wahrscheinlich einiges davon verstehen…

Das erste Linie importiert das http-Modul, ein integriertes Modul, das mit Node geliefert wird, und es hilft uns, Web-Sockets auf Anfragen abzuhören, HTTP-Anfragen zu verarbeiten und entsprechende Antworten zu geben.

Das zweite und dritte Zeile setzt die Hostname zu '127.0.0.1' und Hafen  zu 3000. Das bedeutet, dass wir die Variable weiter verwenden können Hostname und Hafen, anstatt die gesamte IP-Adresse einzutippen. Später, wenn Sie es tatsächlich auf einem Server bereitstellen, ersetzen Sie es durch die IP-Adresse des Servers und eine Portnummer wie 80 oder 443, wenn es sich um einen Webserver handelt. Das Stichwort const stellt sicher, dass die Variable nicht an anderer Stelle im Programm geändert werden kann.

Das Linien vier bis acht  erstellt ein Serverobjekt, das die Anfrage als . annimmt req und gibt Antwort als res.

Die Antwort hat ein statusCode-Attribut, das res.Statuscode der auf 200 gesetzt ist, was der Client als "Okay"-Status interpretiert. Fehlercodes sind 400er und 500er, z. B. Fehler 404 ist Code für Ressource nicht gefunden. Ebenso wird das setHeader-Attribut auf 'text/plain' gesetzt, was bedeutet, dass der Client Klartext erhält plain. Sie können dies auf HTML setzen und Ihr Browser rendert jedes gültige HTML, mit dem der Server antwortet. Und der Ende Attribut ist einfach der Text, den wir zurückgeben möchten. Anstatt hier einen String zu haben, haben reale Anwendungen eine statische HTML-Datei oder eine andere .js Datei für den Client-Browser, was eine viel nützlichere Antwort darstellen würde.

Endlich, das letzten drei Zeilen startet den Server und gibt eine Nachricht aus, die besagt, dass er auf einem bestimmten Hostnamen und einer bestimmten Portnummer aktiv ist, wie von . festgelegt const Aussagen, zunächst. Jedes Mal, wenn eine neue Anfrage an der angegebenen Hostname:Port-Kombination eingeht, antwortet der Server mit entsprechendem Antwort Objekt.

Was es bedeutet?

Sie müssen den obigen Code nicht vollständig verstehen, um die Auswirkungen zu kennen. Dank großartiger Frameworks wie Angular und React haben wir bereits JavaScript im Frontend. Darüber hinaus haben wir auch Backend-Funktionalitäten in den Node integriert.js-Ethos.

Web-Frameworks wie Express.js kann Ihnen helfen, noch komplexere Anwendungen auf Node zu schreiben.js. Das Abrufen von Daten aus der Datenbank, das Erstellen von APIs und die Front-End-Benutzeroberfläche können alle in einer Sprache geschrieben werden.

Die Kraft des V8

Obwohl alles eine einzige Sprache ist, gibt es noch viel zu lernen. Unterschiedliche Frameworks und Module haben unterschiedliche Funktionalitäten. Es gibt eine Menge Versionen, die Sie im Auge behalten müssen. Gibt es noch andere Vorteile bei der Verwendung des Node?.js-Ökosystem.

Eines der wichtigsten Argumente dafür ist, dass der V8-Motor eine hervorragende Unterstützung für asynchrone, nicht blockierende E/A bietet. Was im Grunde bedeutet, dass ein einzelner Prozess, der auf Ihrem Systemspeicher ausgeführt wird, mehrere eingehende Anfragen verarbeiten kann. Was grob bedeutet, dass, wenn eine Anfrage verarbeitet wird und eine andere eingeht, Node die Möglichkeit hat, die neue Anfrage zu verarbeiten, selbst wenn die erste Anfrage ist noch nicht fertig.

Darüber hinaus ist ein einzelner Prozess, der in Ihrem Speicher ausgeführt wird, für die Bearbeitung aller eingehenden Anfragen verantwortlich. Im Gegensatz zu PHP-basierten Anwendungen, die für jede neue eingehende Anfrage einen neuen Prozess erzeugen.

Hoffentlich war dieses Intro genug, um dich für Node zu motivieren.js. Lassen Sie uns wissen, wenn Sie ausführlichere Tutorials zu ähnlichen Themen wünschen, indem Sie uns auf Twitter, Facebook und YouTube folgen.

Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...