Dieses Wochenende habe ich beschlossen, ein wenig über JavaScript und Node zu sprechen. Das liegt daran, dass ich beim Testen eines Projekts, das in meinem GitHub-Feed erschien, auf die Definition gestoßen bin.
Ich habe auch vor, mich eingehender mit einigen Themen wie der Event-Schleife und Versprechen zu befassen, daher wäre ein Testbericht großartig.
Hier sind meine Notizen.
Es handelt sich um eine Umgebung (Laufzeit), die die Ausführung von JavaScript auf der Serverseite ermöglicht. Damit können Sie Anwendungen erstellen, die außerhalb des Browsers ausgeführt werden (Backend-, Mobil-, Desktop-Anwendungen...).
Zur Erinnerung: JavaScript ist eine interpretierte und paradigmenübergreifende Programmiersprache, die entwickelt wurde, um Webseiten Interaktivität zu verleihen. Das heißt, sie wurde mit der Absicht entwickelt, im Browser verwendet zu werden.
Heutzutage gibt es andere JavaScript-Ausführungsumgebungen wie Deno oder Bun, aber Node war der Pionier und wurde 2009 eingeführt.
Die Möglichkeit, sowohl das Frontend als auch das Backend einer Anwendung mit nur einer Programmiersprache zu entwickeln, ist fantastisch. Diese Fähigkeit ist einer der großen Vorteile von JavaScript, obwohl einige Fachleute seinen Einsatz auf der Serverseite in Frage stellen.
In Anlehnung an Javas Motto „Einmal schreiben, überall ausführen“ haben wir unser Motto: Einmal lernen, alles erstellen.
Node basiert auf der V8-Engine von Google Chrome, die JavaScript-Code im Browser liest und ausführt. Ein wichtiges Merkmal ist, dass eine JavaScript-Engine unabhängig vom Browser ist, in dem sie ausgeführt wird, was die Erstellung von Node- und anderen Umgebungen ermöglicht.
Es gibt andere JavaScript-Engines:
JavaScript gilt als interpretierte Sprache, aber Engines verfügen über einen Just-in-Time-Kompilierungsschritt (JIT), was es zu einer interpretierten und kompilierten Sprache macht.
Es ist wichtig zu beachten, dass Node keinen Zugriff auf die Manipulations-APIs für DOM, Fenster usw. hat. Stattdessen verfügt es über eine Standardbibliothek, mit der Sie auf das Dateisystem zugreifen, HTTP-Anfragen abhören, UUIDs generieren, Ereignisse ausgeben und viele andere Dinge tun können.
// ❌ const element = document.getElementById('js-in-server') console.log(element.textContent) // ✅ import fs from 'fs' fs.readFile('js-is-really-cool.md', 'utf-8', (err, content) => { console.log(content) })
Node ist mit dem NPM-Paketmanager (Node Package Manager) ausgestattet, der zum Organisieren, Installieren und Auflösen von Projektabhängigkeiten verwendet wird. NPM ist auch der Standard-Paketregistrator. Hier werden Bibliotheken und Frameworks für die spätere Verwendung registriert.
Zur Klarstellung: Es gibt das NPM-Paketverwaltungstool und den Registrar für diese Pakete, der auch NPM genannt wird. Mehr dazu hier.
Alternativen zum Werkzeug sind Garn und PNPM. Die Bun-Umgebung verfügt außerdem über einen Paketmanager, der mit Node kompatibel ist und der schnellste Ersatz unter den zuvor genannten Optionen sein soll.
Apropos Registrar: In letzter Zeit ist eine Art moderne Alternative aufgetaucht, die angeblich für Typescript und ESM, JSR, gedacht ist.
Einige wirklich coole „neue“ Funktionen, an die ich mich erinnere, wurden zu Node hinzugefügt:
Das war's für den Moment. Ich beabsichtige, diese Rezension zu aktualisieren, um zu behandeln, was eine Ereignisschleife ist und welche Bedeutung sie hat.
Eine lustige Tatsache ist, dass ich meinen ersten HTTP-Server mit Node entwickelt habe und dabei entdeckt habe, dass mir das Backend gefällt.
Danke fürs Lesen!
Das obige ist der detaillierte Inhalt vonÜberprüfung von Node JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!