Was NodeJS kann

藏色散人
藏色散人Original
2021-11-22 13:38:5625513Durchsuche

Was Nodejs tun können: 1. Full-Stack-Entwicklung für Programmierer realisieren; 3. Asynchrone Programmierung; 5. Komplexe Systeme erstellen; Überwachungssystem für den Speicherstapel usw.

Was NodeJS kann

Die Betriebsumgebung dieses Artikels: Windows 7-System, nodejs10.16.2, Dell G3-Computer.

nodejs-Einführung:

Node.js ist eine JavaScript-Ausführungsumgebung, die auf der Chrome V8-Engine basiert. Node.js verwendet ein ereignisgesteuertes, nicht blockierendes I/O-Modell, was es leichtgewichtig und effizient macht. Der Paketmanager npm von Node.js ist das weltweit größte Open-Source-Bibliotheks-Ökosystem.

Was kann NodeJS? 1. NodeJS basiert auf der Javascript-Sprache. Es ist nicht erforderlich, eine unbekannte Sprache separat zu lernen, wodurch die Lernschwelle gesenkt wird. Gleichzeitig ist die Javascript-Sprache für die Web-Front-End-Entwicklung von entscheidender Bedeutung, insbesondere HTML5-Anwendungen müssen sie verwenden. Daher kann die einheitliche Sprache des Front- und Backends nicht nur die Full-Stack-Entwicklung von Programmierern realisieren, sondern auch die öffentliche Klasse vereinheitlichen Bibliotheken und standardisieren Codes. Allein dadurch hat Nodejs die Gunst des Marktes gewonnen.

2. Nodejs hat die Laufzeitumgebung nicht neu entwickelt, sondern den aktuell schnellsten Browser-Kernel V8 als Ausführungs-Engine gewählt, um die Leistung und Stabilität von Nodejs sicherzustellen.

3. Die Nodejs-Entwicklung ist dank des Single-Thread-Mechanismus von Nodejs sehr effizient und der Code ist einfach. Ein weiteres Merkmal von Nodejs, die asynchrone Programmierung, verschafft Nodejs einen klaren Vorteil bei der Handhabung IO-intensiver Anwendungen. Ich persönlich bin der Meinung, dass die Verwendung von Nodejs für die Webentwicklung zehnmal effizienter als Java und einfacher als PHP-Code ist.

4. Die Nodejs-Community wächst nicht nur rasant, auch die Qualität der Pakete ist deutlich besser als bei anderen Sprachen. Viele Star-Pakete sind einfach und intelligent und auf die Nutzungsgewohnheiten der Entwickler zugeschnitten. Die Toolkits, die ich am häufigsten verwende, wie socket.io, moment.js, underscore.js, async.js, express.js, bower.js, grunt.js, Forever.js ..., verändern meine bisherigen Programmiergewohnheiten wirklich . .

Zusätzlich zu meinen Gründen für den Einsatz von Nodejs haben natürlich auch viele Unternehmen ihre eigenen Gründe für den Einsatz.

Die Gründe, warum sich eBay für Nodejs entschieden hat, lassen sich in den folgenden 4 Punkten zusammenfassen:

Dynamische Sprache: Die Entwicklungseffizienz ist sehr hoch und sie bietet die Möglichkeit, komplexe Systeme wie http://ql.io zu erstellen.

Leistung und I/O-Last: Nodejs löst IO-intensive Probleme sehr gut durch asynchrone IO.

Speicheraufwand für Verbindungen: Jeder Node.js-Prozess kann mehr als 120.000 aktive Verbindungen unterstützen und jede Verbindung verbraucht etwa 2 KB Speicher.

Betrieb: Implementierung des Speicherstapel-Überwachungssystems von Nodejs.

15 ​​​​Nodejs-Anwendungsszenarien

Wir 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-Webanwendungsframework, 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, was das Parsen, den Betrieb und das Rendering 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 Node.js-Technologie-Community CNode verwendet, Sie können es jedoch zum Aufbau Ihrer eigenen Community verwenden.

7 Web-Diashow: Cleaver

Cleaver kann Markdown-basierte Präsentationen generieren. 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