Node.js-Tutorial für Anfänger (1)
Dieses Mal bringe ich Ihnen ein Anfänger-Tutorial zu Node.js. Was sind die Vorsichtsmaßnahmen für Anfänger-Tutorials zur Verwendung von Node.js?
Hauptzeile: Was ist Node.js--> Eigenschaften von Node.js--> -- > Paket--> Nicht blockierende, ereignisgesteuerte Funktion-->
Was ist ein Knoten? Schauen Sie sich zunächst den Namen Node.js an. Auf den ersten Blick denken einige Leute, dass es sich bei diesem Ding um eine Bibliothek oder ein Framework wie jQuery handelt, aber in Wirklichkeit handelt es sich nicht um eine Plattform, die die Ausführung von JavaScript auf dem Server ermöglicht . oder Node.js ist ein Tool, das die Ausführung von JavaScript in einer Nicht-Browser-Umgebung ermöglicht. Node.js verwendet die sogenannte schnellste Chrome v8-Engine der Welt. Sie besteht aus zwei Teilen, einschließlich Core JavaScript und Node Core JavaScript besteht aus der Standardbibliothek und bezieht sich tatsächlich auf ECMAScript, was bedeutet, dass es nur das ECMAScript in unseren js-Skripten auf der Browserseite enthält, mit Ausnahme unseres Dokumentobjektmodells, das DOM ist, und des Browserobjektmodells, das BOM ist Die Leute denken, dass Node Kompatibilitätsprobleme hat? Es gibt kein Kompatibilitätsproblem mit Node, da wir das js-Skript des Client-Browsers gelernt haben und verstehen sollten, dass sich das js-Kompatibilitätsproblem, über das wir oft sprechen, tatsächlich auf das Kompatibilitätsproblem unseres DOM und BOM bezieht. Was ist also die Node-Standardbibliothek? Dies ähnelt unserer C-Standardbibliothek oder C++-Standarderweiterungsbibliothek. Die Eigenschaft von Node.js ist, dass unser JavaScript in unsere erstklassige Skriptwelt integriert werden kann Schauen Sie sich zunächst das erste Beispiel an, helloworld. Scheint dieses helloworld komplizierter zu sein als andere Sprachen? Aber wir können einen Blick auf die Funktionen werfen, die durch diese 6 Codezeilen implementiert werden. Eine der Säulen von Node.js ist das Modul, also ist das erste, was wir lernen müssen ein Modul? Ein Modul ist eigentlich eine JS-Datei. Wenn wir in unserem Client-Browser eine CSS-Datei einbetten und eine andere CSS-Datei einführen möchten, können wir die @import-Direktive verwenden. Wenn wir jedoch in unserem JS eine andere CSS-Datei einführen möchten, Das bedeutet natürlich nicht, dass wir mit createElement ein Skript-Tag erstellen und es dann an unseren HTML-Code anhängen können, aber egal, was passiert Ja, unser Knoten hat dieses Problem gelöst. In unserem Knoten ist eine js-Datei direkt ein Modul. Wie können wir also eine weitere js-Datei in eine js-Datei einfügen? Wir können es über eine Funktion namens „require“ einführen. Wir können jedes Modul als ein größeres Objekt behandeln. Sie werden schließlich einige Eigenschaften und Methoden verfügbar machen. Wir tun dies über eine Funktion namens „module.exports“, die Attribute und Methoden verfügbar macht Zu den gängigen Kernmodulen gehören das http-Modul, das betriebssystembezogene Modul und das fs-Modul, das Vorgänge im Dateisystem verarbeitet , Util-Modul-Tools, und das andere ist das lokale Modul. Das sogenannte lokale Modul bedeutet, dass wir unser eigenes Modul erstellen können. Eine größere Einheit ist das Paket. Wir können darüber nachdenken, wir können uns ein Modul als eine unserer Dateien vorstellen und wir können uns das Paket als einen Ordner vorstellen, was bedeutet, dass wir einen Ordner verwenden können, um eine Reihe von Dateien mit ähnlichen Funktionen zusammenzustellen und sie zu verpacken. Wenn es um Pakete geht, sind neben den von uns selbst erstellten Paketen auch einige Pakete von Drittanbietern wichtig. Auf der Website npm.org gibt es eine große Anzahl von Paketen von Drittanbietern, die von Dutzenden implementiert wurden Tausende von Menschen wollen es nutzen, wie soll man es konkret nutzen?Um uns die Verwendung von Paketen von Drittanbietern zu erleichtern, hat unser Knoten ein Tool namens Paketverwaltungstool entwickelt. Wir können uns einfach ansehen, wie wir dieses Ding verwenden Installieren Sie es. Eine davon ist die globale Installation, die andere ist möglicherweise nicht genau das Gleiche wie bei anderen Sprachen. Beispielsweise sind global installierte Pakete im Allgemeinen für Befehlszeilenoperationen geeignet Unser Lessc, ein weiteres lokales Paket, wird im Allgemeinen in einigen Projekten verwendet, an denen wir gerade arbeiten. Wenn es nur diese Dinge enthält, hat Node.js natürlich keine großen Funktionen, da diese Dinge tatsächlich bereits in anderen Sprachen verfügbar sind Wie Python und Ruby, das größte Merkmal von Node.js sind tatsächlich die asynchronen, nicht blockierenden und ereignisgesteuerten Module, die sich stark von anderen Sprachen unterscheiden Ich hoffe, dass jeder dieses Beispiel verstehen kann, vorausgesetzt, dass wir synchrone E/A implementieren und eine SQL-Anweisung wie Python schreiben möchten Alles in dieser Form, das heißt, zuerst db.query verwenden und dann eine SQL-Abfrage blockieren und darauf warten, dass die Datenbank die Ergebnisse zurückgibt und sie in einer res-Variablen speichert, aber das Folgende ist die tatsächliche Schreibweise, die Node verwendet Es ist ersichtlich, dass diese Anweisung tatsächlich eine solche SQL-Abfrage generiert und eine Funktion als Rückruffunktion einfügt Die Anweisung wird nicht direkt ausgeführt, sondern rückwärts. Wann wird der darin enthaltene Inhalt ausgeführt? Warten Sie, bis meine Datenbank die Nachricht zurückgibt, geben Sie dann die Rückruffunktion über die Ereignisschleife ein und geben Sie dann die Abfrageergebnisse aus. Dies ist der asynchrone E/A-Modus. Anschließend erkläre ich, was Synchronisation und was asynchron ist und was das Programm ausführt IO Der Vorgang kann lange dauern und Hunderttausende oder Hunderte Millionen Befehlszyklen dauern, aber die Ausführung einer JavaScript-Anweisung dauert möglicherweise nur ein paar Hundert oder Tausende von Befehlszyklen. Natürlich kann sie optimiert werden Es dauert möglicherweise nur ein paar Dutzend, daher ist es Zeitverschwendung, wenn das Betriebssystem und die CPU asynchrone Planungsmethoden durch Interrupts implementieren. Dies bedeutet, dass das Betriebssystem hängen bleibt Aktueller Prozess und gibt dann die Kontrolle über die CPU an andere Prozesse weiter. Wenn die E/A abgeschlossen ist, setzt das Betriebssystem die Ausführung fort. Gleichzeitig können Sie auf die Ergebnisse der E/A-Operation zugreifen Die Anforderungsmethode heißt Es ist synchrones IO oder blockierendes IO, aber im IO-Modus in Node verwenden wir asynchrones IO oder nicht blockierendes IO. Dies bedeutet, dass der Prozess, nachdem er eine IO-Anfrage initiiert hat, sofort zurückkehrt und die Ausführung fortsetzt Andere Aufgaben ausführen und dann andere Mittel verwenden, um zu benachrichtigen, dass der E/A-Vorgang abgeschlossen ist, und dann den Logikcode verarbeiten, wenn der nicht blockierende E/A-Vorgang initiiert wird , führt aber weiterhin das Ereignis aus und tritt dann in die Ereignisschleife ein, um andere Ereignisse zu verarbeiten. Das Konzept eines Ereignisses und einer Ereignisschleife wird hier in einem Ereignis abstrahiert Das gesamte Programm ist eine Ereignisschleife, und die Ereignisschleife wird weiterhin eine sogenannte Ereigniswarteschlange verarbeiten. Das heißt, ich habe am Anfang ein Ereignis, und dann können während des Ausführungsprozesses einige Anforderungen initiiert werden, z. B. E/A-Anforderungen Nachdem die E/A-Anforderung abgeschlossen ist, wird die Ereigniswarteschlange vor der Verarbeitung in die Ereigniswarteschlange eingefügt. Dies ist ein Verarbeitungsmodus, der auf der Ereignisschleife basiert Ein sehr klassischer und häufig verwendeter Modus, wie z. B. qt, gtk, ist beispielsweise auch ein Ereignis, und ein Ereignis erfordert eine Rückruffunktion Ereignis eintritt. Warum verwendet Node dann dieses obskure Programmiermodell?Tatsächlich ist dies eine weitere ganz besondere Strategie von Node. Lassen Sie uns zunächst über das Parallelitätsmodell des Blockierungsmodus sprechen. Wenn wir beispielsweise einen Webserver entwickeln möchten, muss dieser natürlich Parallelitätsanforderungen haben. Es kann mehreren Benutzern gleichzeitig den Zugriff ermöglichen. Dies bedeutet nicht, dass ich die Anfrage eines Benutzers verarbeitet habe. In diesem Fall ist die Verarbeitungsgeschwindigkeit sehr langsam Wenn der Benutzer sehr langsam ist und die Verbindung nicht trennt, warten andere Benutzer weiter, was unangemessen ist. Um Parallelität im Blockierungsmodus zu erreichen, muss ein Prozess verwendet werden, der nur eine Aufgabe verarbeiten kann Der Durchsatz der CPU, der verwendet werden muss, ist möglicherweise viel mehr als die Anzahl der CPU-Kerne. Dies ist beispielsweise für eine unserer Logiken unvorhersehbar Berechnen Sie zuerst einen Teil und initiieren Sie dann eine E/A-Anforderung, z. B. das Lesen einer Datei oder das Schreiben einer Datei oder das Initiieren einer Netzwerkanforderung, und geben Sie dann unseren zweiten Berechnungsteil ein. Um Parallelität zu erreichen, können wir den Multithreading-Modus verwenden und ihn ausführen Ein solches Beispiel: Angenommen, wir haben eine einzelne CPU, dann übernimmt der erste Thread die CPU zur Berechnung und erreicht dann die E/A-Anforderungsstufe. Zu diesem Zeitpunkt wird die Steuerung der CPU übertragen Zu diesem Zeitpunkt übernimmt der zweite Thread die CPU, tritt dann in die E/A ein, wird erneut blockiert und gibt dann die Kontrolle über die CPU, Thread 3, Thread 4, Thread 5 usw. frei. Anschließend kann es zu einer Leerlaufzeit kommen in der Mitte, und warten Sie dann auf Thread 1. Die E/A ist beendet, und dann wird festgestellt, dass die CPU nicht belegt ist. Sie verwendet die CPU, um Berechnungen einzugeben, z. B. einen gleichzeitigen Präemptivmodus, der auf Berechnung und E/A basiert, jedoch nicht Blockierungsmodell, sein Modell wird wie folgt aussehen: Eine Single-Threaded-Berechnung 1 initiiert eine asynchrone E/A-Anfrage. Zu diesem Zeitpunkt wird direkt eine andere Berechnung 1 eingegeben, die möglicherweise von einem anderen Benutzer initiiert wurde, und dann eine initiiert zweite Anfrage, und warten Sie dann auf 5 Benutzer. Die Berechnung des ersten Benutzers ist zu diesem Zeitpunkt beendet, und dann ist unsere Ereignisschleife ein einzelner Thread, der die vom ersten Benutzer initiierte E/A-Anfrage ausführt Theoretisch beträgt die Auslastung der CPU durch den Prozess im nicht blockierenden Modus 100 %. Dies ist eine ideale Situation. Ein einzelner Thread kann den maximalen Durchsatz erreichen, ohne dass mehrere Threads erforderlich sind. Wenn wir beispielsweise mehrere Kerne haben, wenn wir 2 Kerne haben, öffnen wir 2 Threads. Was ist dann der Vorteil des Nichtblockierens gegenüber dem Blockieren? Multithreading klingt schnell, ist aber tatsächlich nicht so schnell. Aufgrund der Zeitscheibensegmentierung ist das Wechseln der Stationen alle 20 ms sehr ineffizient bei der Auslastung des CPU-Cache, und die Nichtblockierung ist nicht sehr Auch gut. Ja, es wird leicht zur Rückrufhölle führen. Lesen Sie zuerst die erste Datei und dann die zweite Datei. Ich habe hier gerade die Grundlagen von Node vorgestellt. Welche Anwendungen gibt es, nachdem ich lange über Node gesprochen habe? Erstens verfügt Node über viele Module von Drittanbietern. Wenn wir beispielsweise eine Website erstellen möchten, können wir eine Vorlagen-Engine namens Jade verwenden CSS generieren, und es gibt Javascript-Komprimierungstools. Die Verwendung von WebSocket verfügt über Socket.io, die SQL-Datenbank über ORM, OAuth, Daemon-Prozess, Befehlszeilenanalyse und Syntaxanalyse, obwohl es nichts mit DOM zu tun hat. Es kann tatsächlich Datei-Upload, Syntax-Hervorhebung, Parsing-Markdown, Codierungskonvertierung, Bildverarbeitung, Coffeescript und einige statische Analysen auf der Browserseite verarbeiten. Dies ist meine heutige Einführung in Node.js.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
Das Ausführungsprinzip des Node.js-Codes
Detaillierte Erläuterung der Verwendung von $apply( ) in AngularJS
Das obige ist der detaillierte Inhalt vonNode.js-Tutorial für Anfänger (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mistlock Kingdom ist ein Open-World-Spiel, in dem Spieler als Söhne des Feuers spielen können, um zu überleben und zu erkunden. Das Spiel vereint die einzigartige Unterhaltung von Action-RPG-Herausforderungen und beschert den Spielern endlose Überraschungen und Freude. Im Spiel können Spieler Ressourcen, Umgebungen, Waffen und mehr erkunden. Einige Anfänger sind möglicherweise neugierig, wie sie mit dem Spiel beginnen sollen. In dieser Einführung und Weitergabe stellen wir Ihnen einige relevante Leitfäden für den Einstieg zur Verfügung. Tipps für Anfänger im Nebelschleusen-Königreich: Die Gefahrenstufen der von Miasma bedeckten Gebiete sind unterschiedlich. Während des Erkundungsprozesses werden nach und nach neue Gebiete der Karte freigeschaltet, und die Lage der von Miasma bedeckten Gebiete ist sichtbar. Die Karte wird durch zwei Farben gekennzeichnet. Der blaue Bereich, den Sie für kurze Zeit betreten können, hängt auch von der Fähigkeitsstufe des Charakters ab.

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

Anchor Arrival ist ein rundenbasiertes 3D-Kartenspiel mit einem hochauflösenden 2D-Thema für Mädchen. Es bietet den Spielern eine reichhaltige und aufregende Kombination von Charakteren, die es zu erkunden und zu erleben gilt Auch neugierige Anfänger. Werfen wir einen Blick auf die Auswahlempfehlung für Anfänger, um zehn Goldmedaillen in Folge zu gewinnen. Die vom Anfängerpool empfohlenen mächtigen Charaktere sind hauptsächlich Singles -Ziel-Donner-Typ-Explosivcharakter. Die Ausgabe ist sehr explosiv und das Erlebnis wird für Neulinge sehr freundlich sein, daher wird dringend empfohlen, es zu wählen. Es wird empfohlen, die Kombination „Alice“ + „Antilope“ für einen 10-Ziehungs-Bonus zu wählen. Alice ist der würdigste Charakter, der das Goldpire-Attribut ausgibt, und ist nicht einmal ein bisschen stärker als die anderen beiden Charaktere im Kartenpool für Anfänger . Alice kann Sonderprüfungen bestehen

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Grundlegende Fähigkeiten für PyCharm-Neulinge: Um die Verwendung von Batch-Einrückungen zu beherrschen, sind spezifische Codebeispiele erforderlich. Übersicht: PyCharm ist eine leistungsstarke integrierte Python-Entwicklungsumgebung (IDE), die viele praktische Tools und Funktionen bietet, um Entwicklern bei der Verbesserung der Effizienz zu helfen. Im täglichen Codierungsprozess müssen wir den Code häufig einrücken, um das Codeformat sauber und schön zu halten. Die von PyCharm bereitgestellte Batch-Einrückungsfunktion kann uns dabei helfen, den Code schnell stapelweise einzurücken und die Codierungseffizienz zu verbessern. In diesem Artikel wird Py untersucht

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

Crown of the Ancients ist ein hochwertiges und strategisches Kartenspiel für Handys, das auf westlichen magischen Abenteuern basiert. Geheime Erkundungen im Spiel, Ruinenabenteuer, nationale Meisterschaften und andere besondere Gameplays warten darauf, von Ihnen erlebt zu werden. Für Anfänger, die schnell mit diesem Spiel beginnen möchten, ist ein Leitfaden für Anfänger unverzichtbar. Heute bringt Ihnen der Herausgeber den entsprechenden Leitfaden, werfen wir einen Blick darauf. Ein Überblick über den Gameplay-Leitfaden für Anfänger in Crown of Ancients und die Eröffnungsschulen: 1. Diamanten-Sammelfluss: Alles konzentriert sich auf das Sammeln von Diamanten, und nachdem Sie das Dorf verlassen haben, beginnen Sie hart zu arbeiten. Mit Ausnahme der Hauptzauberwaffe, drei Schwungradaktivitäten usw., die Diamanten erfordern, werden die anderen ignoriert. Achten Sie nicht auf die Heldenherausforderung. Sie können so viele spielen, wie Sie können , und erzwinge es nicht. Vorteile: Sie müssen nur herumspielen, um Diamanten zu sammeln. Nachdem Sie das Dorf verlassen haben, können Sie schnell auf die neuesten Aktivitäten mit Diamanten zugreifen, neue Serien von Hardware-Helden erhalten und Diamanten zerschlagen.
