nodejs ist eine JavaScript-Ausführungsumgebung, die auf der Chrome V8-Engine basiert. Es handelt sich um eine Entwicklungsplattform, die die Ausführung von JavaScript auf der Serverseite ermöglicht und die Verwendung der Skriptsprache JavaScript als Serversprache ermöglicht. Vorteile des Knotens: extrem hohe Parallelitätsfähigkeit, Verwendung der JavaScript-Syntax usw.
Die Betriebsumgebung dieses Tutorials: Windows7-System, NodeJS-Version 14.15.4, DELL G3-Computer.
Node.js wurde im Mai 2009 veröffentlicht und von Ryan Dahl entwickelt. Es handelt sich um eine JavaScript-Laufumgebung, die auf der Chrome V8-Engine basiert. Sie verwendet ein ereignisgesteuertes, nicht blockierendes I/O-Modell, um die Ausführung von JavaScript zu ermöglichen serverseitige Entwicklungsplattform, die JavaScript zu einer Skriptsprache macht, die serverseitigen Sprachen wie PHP, Python, Perl und Ruby ebenbürtig ist.
Node.js optimiert einige spezielle Anwendungsfälle und bietet alternative APIs, um die Ausführung von V8 in Nicht-Browser-Umgebungen zu verbessern. Die V8-Engine führt Javascript sehr schnell aus und verfügt über eine sehr gute Leistung. Sie basiert auf der Chrome JavaScript-Laufzeitplattform Erstellen von Netzwerkanwendungen mit schneller Reaktionsgeschwindigkeit und einfacher Erweiterung.
Node.js verwendet die JavaScript-Engine Google V8, weil:
V8 Open-Source-Software ist, die auf einer BSD-Lizenz basiert
V8 sehr schnell ist
V8 konzentriert sich auf Netzwerkfunktionen, einschließlich HTTP, DNS, TCP und mehr ausgereift
Was sind die Vorteile von Node.js? Warum kann die Skriptsprache JavaScript als Serversprache verwendet werden?
Vorteil 1 Node.js verfügt über extrem hohe Parallelitätsfähigkeiten
Das ursprüngliche Ziel von Node.js besteht darin, eine einfache Möglichkeit zum Erstellen von Hochleistungsservern und zum Ausführen verschiedener Anwendungen in den Programmentwicklungstools des Servers bereitzustellen.
im Vergleich zu klassischen serverseitigen Sprachen wie Java, PHP oder . Ein Thread benötigt 2 MB Speicher. Das heißt. Theoretisch kann ein 8-GB-Server etwa 4.000 gleichzeitig verbundene Benutzer haben. Um mehr Benutzer mit hoher Parallelität zu unterstützen, müssen zusätzliche Server hinzugefügt werden.
Node.js erstellt nicht für jede Clientverbindung einen neuen Thread, sondern verwendet nur einen Thread. E Dies ist der Knoten, der auf einem einzelnen Thread basiert (nur ein Hauptthread, der die Anfrage aufnimmt und eine Antwort gibt) Ist das nicht langsamer? Tatsächlich ist dies nicht der Fall.
Wenn Node.js eine Benutzerverbindung empfängt, löst es ein internes Ereignis aus. Reagieren Sie durch vordefinierte Funktionen auf das Benutzerverhalten. Der Hauptthread von Node.js kümmert sich nicht um den Prozess des Programms. Tatsächlich gibt es einen anderen Arbeitsthread, der dem Hauptthread von Node hilft, auf Dateien zuzugreifen und die Datenbank zu lesen Daten in der Datenbank. Die Rückruffunktion wird zur Ausführung an den Hauptthread des Knotens zurückgegeben, z. B. zum Übertragen der gefundenen Daten zurück an den Client und zum Schließen der Verbindung für einige Vorgänge. (Dies ist ein nicht blockierender Knoten-E/A, ereignisgesteuert).我 上 Ein Bild, das ich unten zeichne (wenn etwas nicht stimmt, verzeihen Sie mir bitte)
Zu diesem Zeitpunkt sollte sich in unserem Kopf ein Prototyp befinden, das heißt, der Hauptthread von Node.js wurde empfangen Die Aufgabe des Anforderns und Beantwortens von Anforderungen ist gemischt, sodass nicht auf E / A-Vorgänge gewartet werden muss, sondern die Ereignisrückruffunktion ausgelöst wird Teilen Sie dem Host mit, dass die Thread-Daten abgerufen wurden. Zu diesem Zeitpunkt führt der Haupt-Thread die Rückruffunktion aus und gibt die Daten an den Client zurück. Theoretisch kann ein Server mit 8G Speicher die Verbindungen von 30.000 bis 40.000 Benutzern gleichzeitig aufnehmen.
Hier glänzt Node (Single-Threaded, nicht blockierende E/A, ereignisgesteuert)
Vorteile 2 Node verwendet JavaScript-SyntaxNode.JS V8-Engine basierend auf JavaScript, das ist es sagte, solange Sie die Syntax von JS kennen, können Sie es für die Back-End-Entwicklung verwenden, Node empfiehlt jedoch offiziell die Syntax von ECMA Script6 (ES6). Node durchbricht die bisherige Situation, in der JavaScript nur im Browser ausgeführt werden kann, und vereinheitlicht die Front-End- und Back-End-Programmierumgebungen, was die Entwicklungskosten erheblich senkt. (Dies ist sehr freundlich zu Front-End-Entwicklern. Je mehr Dinge JS tun kann, desto schneller wird die Front-End-Entwicklung sein)
Vorteile 3 Das Aufkommen von Node.js spielt eine Rolle eine unersetzliche Rolle. S Node.js ist nicht nur eine Betriebsumgebung, sondern auch eine neue JavaScript-Sprache mit einer neuen JS-Grammatikgrundlage. Es fügt auch einige interne Module der Lesedatei r URL hinzu Anforderungsdaten usw.
Rreeee
node.js integriert auch das NPM-Paketverwaltungstool, sodass wir die Taschen, von denen unser Projekt abhängt, einfach über die Befehlszeile herunterladen könnenSie können es verwenden, indem Sie es in das Projekt einführen
const http = require('http')
Node unterstützt auch benutzerdefinierte Module Syntax ↓↓
const Jquery = require('jquery');
const app =()=>{ //模块代码 } module.exports = app;
Node.js wirkt sich in gewissem Maße auf das Front-End-Entwicklungsmodell aus. Machen Sie das Front-End-Engineering modular, entwickeln Sie schnell, reduzieren Sie die Codekopplung und verbessern Sie die Wartbarkeit erheblich.
Wofür ist Node.js geeignet?个 Die folgenden Listen sind zu verschiedenen NODE.JS-Anwendungsszenarien aufgeführt. Weitere programmbezogene Kenntnisse finden Sie unter:
Programmierlehre! !
Das obige ist der detaillierte Inhalt vonWas bedeutet NodeJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!