Unterschied: 1. NodeJS ist eine JS-Laufumgebung, während WebSocket ein Kommunikationsprotokoll ist. 2. NodeJS wird zum einfachen Erstellen von Netzwerkanwendungen mit schneller Reaktion und einfacher Erweiterung verwendet, während WebSocket die Verbindung zwischen dem Client und den Serverdaten herstellen kann Der Austausch wird einfacher, sodass der Server Daten aktiv an den Client weiterleiten kann.
Die Betriebsumgebung dieses Tutorials: Windows7-System, NodeJS-Version 12.19.0, DELL G3-Computer. Was ist Nodejs? Erweiterung. Node verwendet ein ereignisgesteuertes, nicht blockierendes I/O-Modell, um leichtgewichtig und effizient zu sein, was es ideal für die Ausführung datenintensiver Echtzeitanwendungen auf verteilten Geräten macht.
Node verwendet eine Architektur namens „Ereignisschleife“, die das Schreiben hochskalierbarer Server einfach und sicher macht. Es gibt verschiedene Techniken zur Verbesserung der Serverleistung. Node hat sich für eine Architektur entschieden, die sowohl die Leistung verbessern als auch die Entwicklungskomplexität reduzieren kann. Dies ist eine sehr wichtige Funktion. Gleichzeitige Programmierung ist oft komplex und voller Landminen. Node umgeht diese, bietet aber dennoch eine hervorragende Leistung. Node verwendet eine Reihe „nicht blockierender“ Bibliotheken, um die Ereignisschleife zu unterstützen. Im Wesentlichen stellt es Schnittstellen für Ressourcen wie Dateisysteme und Datenbanken bereit. Beim Senden einer Anfrage an das Dateisystem muss nicht auf die Festplatte gewartet werden (um die Datei zu adressieren und abzurufen). Die nicht blockierende Schnittstelle benachrichtigt Node, wenn die Festplatte bereit ist. Dieses Modell vereinfacht den Zugriff auf langsame Ressourcen auf skalierbare Weise, die intuitiv und leicht verständlich ist. Insbesondere Benutzer, die mit DOM-Ereignissen wie onmouseover und onclick vertraut sind, werden sich vertraut fühlen. Obwohl die Ausführung von Javascript auf der Serverseite keine einzigartige Funktion von Node ist, ist es eine seiner leistungsstarken Funktionen. Wir müssen zugeben, dass die Browserumgebung unsere Freiheit bei der Auswahl der Programmiersprachen einschränkt. Jeder Wunsch, Code zwischen Servern und immer komplexeren Browser-Client-Anwendungen auszutauschen, kann nur durch Javascript erreicht werden. Obwohl es andere Plattformen gibt, die die Ausführung von Javascript auf der Serverseite unterstützen, hat sich Node aufgrund der oben genannten Eigenschaften schnell entwickelt und ist zur De-facto-Plattform geworden.
15 Nodejs-AnwendungsszenarienWir haben ein vorläufiges Verständnis von Nodejs. Werfen wir einen Blick auf die Anwendungsszenarien von Nodejs.
1 Webentwicklung: Express + EJS + Mongoose/MySQL
express ist ein leichtes und flexibles Nodejs-Webanwendungs-Framework, mit dem Websites schnell erstellt werden können. Das Express-Framework basiert auf dem integrierten HTTP-Modul von Nodejs und verpackt das HTTP-Modul neu, um die Funktion der Webanforderungsverarbeitung zu implementieren. ejs ist eine eingebettete Javascript-Vorlagen-Engine, die durch Kompilierung HTML-Code generiert.
mongoose ist das Objektmodelltool von MongoDB. Über das Mongoose-Framework können Sie auf MongoDB zugreifen.
mysql ist eine Kommunikations-API, die eine Verbindung zur MySQL-Datenbank herstellt und Vorgänge für den Zugriff auf MySQL ausführen kann.
Normalerweise erfordert die Verwendung von Nodejs für die Webentwicklung die Verwendung von drei Frameworks, genau wie SSH in Java.
2 REST-Entwicklung: Restify
restify ist ein REST-Anwendungsframework, das auf Nodejs basiert und Server und Client unterstützt. Restify konzentriert sich mehr auf REST-Dienste als auf Express und entfernt die Vorlage, das Rendern und andere Funktionen in Express. Gleichzeitig wird die Verwendung des REST-Protokolls, der Versionsunterstützung und der HTTP-Ausnahmebehandlung gestärkt.
3 Web Chat Room (IM): Express + http://Socket.io
socket.io ist ein Softwarepaket, das auf der Nodejs-Architektur basiert und das Websocket-Protokoll für Echtzeitkommunikation unterstützt. Socket.io bietet ein Komplettpaket für die browserübergreifende Erstellung von Echtzeitanwendungen. Socket.io wird vollständig von JavaScript implementiert.
4 Webcrawler: Cheerio/Request
cheerio ist ein speziell für Server angepasstes Toolkit, das schnell und flexibel ist und die Kernfunktionen von jQuery kapselt. Cheerio enthält eine Teilmenge des jQuery-Kerns, wodurch alle DOM-Inkonsistenzen und Browser-Inkompatibilitäten aus der jQuery-Bibliothek entfernt werden und die wirklich elegante API zum Vorschein kommt. Cheerio arbeitet mit einem sehr einfachen, konsistenten DOM-Modell, das das Parsen, Bearbeiten und Rendern unglaublich effizient macht. Grundlegende End-to-End-Benchmarks zeigen, dass Cheerio etwa achtmal (8x) schneller als JSDOM ist. Cheerio kapselt den @FB55-kompatiblen HTML-Parser und kann fast jedes HTML- und XML-Dokument analysieren.
5 Webblog: Hexo
Hexo ist ein einfaches, leichtes, statisches Blog-Framework, das auf Node basiert. Durch Hexo können wir schnell unseren eigenen Blog erstellen, der mit nur wenigen Befehlen fertiggestellt werden kann.
Nach der Veröffentlichung kann Hexo auf Ihrem eigenen Node-Server oder auf Github bereitgestellt werden. Für einzelne Benutzer hat die Bereitstellung auf GitHub viele Vorteile. Sie kann nicht nur die Kosten für Server senken, sondern auch die Probleme beim Betrieb und der Wartung verschiedener Systeme (Systemverwaltung, Sicherung, Netzwerk) reduzieren. Daher werden persönliche Websites, die auf Github basieren, immer beliebter ...
6 Webforum: Nodeclub
Node Club ist eine neue Community-Software, die mit Node.js und MongoDB entwickelt wurde. Sie verfügt über eine elegante Benutzeroberfläche, umfangreiche Funktionen und eine geringe Größe Es wird bereits in der chinesischen Technologie-Community CNode von Node .j verwendet, Sie können es jedoch zum Aufbau Ihrer eigenen Community verwenden.
7 Web-Diashow: Cleaver
Cleaver kann Markdown-basierte Präsentationen erstellen. Wenn Sie bereits über ein Markdown-Dokument verfügen, können Sie in 30 Sekunden eine Diashow erstellen. Cleaver ist ein Werkzeug für Hacker.
8 Front-End-Paketverwaltungsplattform: bower.js
Bower ist ein von Twitter gestartetes Paketverwaltungstool, das auf der modularen Idee von nodejs basiert und Funktionen in verschiedene Module verteilt, sodass eine Verbindung zwischen Modulen besteht. Über Bower wird diese Verbindung zwischen Modulen verwaltet.
9 OAuth-Authentifizierung: Passport
Das Passport-Projekt ist eine Authentifizierungs-Middleware basierend auf Nodejs. Der Zweck von Passport ist nur die „Anmeldeauthentifizierung“. Daher ist der Code sauber, leicht zu warten und kann problemlos in andere Anwendungen integriert werden. Webanwendungen verfügen im Allgemeinen über zwei Formen der Anmeldeauthentifizierung: Anmeldung mit Benutzername und Passwort und Anmeldung mit OAuth-Authentifizierung. Passport kann verschiedene Authentifizierungsmechanismen basierend auf den Merkmalen der Anwendung konfigurieren. In diesem Artikel wird die Authentifizierungsanmeldung mit Benutzername und Passwort vorgestellt.
10 Tool für geplante Aufgaben: später
Later ist eine auf Nodejs basierende Toolbibliothek, die geplante Aufgaben auf einfachste Weise ausführt. Später kann es im Node und im Browser ausgeführt werden.
11 Browser-Umgebungstools: browserify
Das Aufkommen von Browserify ermöglicht die Ausführung von Nodejs-Modulen im Browser, die Verwendung des require()-Syntaxformats zum Organisieren des Front-End-Codes und das Laden von npm-Modulen. Im Browser wird der durch den Aufruf von browserify kompilierte Code auch in das