Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Einführung in Node.js anhand von 7 Fragen

Eine kurze Einführung in Node.js anhand von 7 Fragen

青灯夜游
青灯夜游nach vorne
2021-12-20 18:02:011577Durchsuche

Kennen Sie Node.js? Wenn Sie es nicht verstehen, können Sie es versuchen. In diesem Artikel wird Node.js anhand von 7 Fragen kurz vorgestellt. Ich hoffe, dass er für alle hilfreich ist!

Eine kurze Einführung in Node.js anhand von 7 Fragen

1. In welchem ​​Jahr wurde Node geboren?

Node wurde im 2009 geboren 2009

2009年3月,Node的作者在其博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库

同年5月,在GitHub发布最初的版本

2011年7月,在微软的支持下发布了windows版本

2. 是谁创造出来的?

Ryan Dahl

Im März 2009 gab der Autor von Node in seinem Blog bekannt, dass er die Erstellung eines leichtgewichtigen Webservers auf Basis von V8 und die Bereitstellung einer Reihe von Bibliotheken vorbereitet

5 desselben Jahres Im Juli wurde die erste Version auf GitHub veröffentlicht

Im Juli 2011 wurde die Windows-Version mit Unterstützung von Microsoft veröffentlicht

2 Wer hat sie erstellt?

Ryan Dahl ist der Schöpfer von Node und wird als Vater von Node bezeichnet

Aber im Januar 2012 übertrug Ryan Dahl den Führungsstatus an Isaac Z. Schlueter, der die Node-Version veröffentlicht und akzeptiert Fehlerbehebungen, Isaac Z.Schlueter war auch der spätere Autor von NPM

3. Warum heißt es Node?

Node hat viele Spitznamen, wie Nodejs, NodeJS, Node.js usw. Warum heißt Node?
  • Zuerst nannte Ryan Dahl sein Projekt web.js, bei dem es sich um einen Webserver handelt, aber die Entwicklung des Projekts übertraf seine ursprüngliche Idee, einfach einen Webserver zu entwickeln. Es ist zu einem grundlegenden Framework für die Erstellung von Netzwerkanwendungen geworden, und es können weitere Dinge darauf erstellt werden, z. B. Server, Clients, Befehlszeilentools usw. Node wurde als Single-Threaded-Single-Process-System entwickelt, das keine gemeinsame Nutzung von Ressourcen erfordert. Es enthält netzwerkfreundliche Bibliotheken und bietet eine Infrastruktur für die Erstellung umfangreicher verteilter Anwendungen. Sein Ziel ist auch ein Dienst für die schnelle Erstellung skalierbare Netzwerkanwendungen. Es selbst ist sehr einfach. Es organisiert viele Knoten über Kommunikationsprotokolle und lässt sich sehr leicht erweitern, um den Zweck der Erstellung umfangreicher Netzwerkanwendungen zu erreichen. Jeder Node-Prozess stellt einen Knoten in dieser Netzwerkanwendung dar, was genau die Bedeutung von Node ist
  • 4 Warum wurde JavaScript zur Implementierungssprache von Node?
  • Es gibt 3 Hauptgründe für die Wahl von JavaScript als Implementierungssprache von Node:

Hohe Leistung

Konform mit ereignisgesteuertem

Kein historisches Gepäck

  • Ryan Dahl hat C , Lua, Haskell, Ruby usw. als alternative Implementierungen, aber die Entwicklungsschwelle für C ist hoch, Lua hat viel historisches Gepäck, Haskell hält es immer noch für unspielbar und die Leistung der virtuellen Maschine von Ruby ist nicht sehr gut. Schließlich wurde JavaScript als Implementierungssprache von Node ausgewähltSie denken vielleicht wie ich: Hat JavaScript kein historisches Gepäck? Ja, JavaScript hatte noch nie einen Markt im Backend und sein historisches Gepäck ist gleich null
  • 5 Was sind die Hauptfunktionen von Node?
  • Hat hauptsächlich die folgenden Funktionen:

Asynchrone E/A

Ereignisse und Rückruffunktionen

Einzelner Thread
  • Node behält die vertrauten Schnittstellen im Front-End-Browser-JavaScript bei, kein Rewrite irgendein Merkmal der Sprache selbst
  • 6 Was sind die Anwendungsszenarien von Node?
  • Die Hauptanwendungsszenarien des Knoten Es ist nicht erforderlich, für jede Anforderung einen Thread zu starten, um mehr Hardwareressourcen effektiver zu organisieren. Für Unternehmen, die sich auf CPU-Stack-Operationen konzentrieren, ist die Leistung von Node effizient genug, hauptsächlich aufgrund der umfassenden Leistungsoptimierung von V8 Anwendungen bringen zu Node, und wie kann man sie lösen?

Die größte Herausforderung, die CPU-intensive Anwendungen für Node mit sich bringen, ist: Da JavaScript Single-Threaded ist, wird die CPU-Zeitscheibe nicht freigegeben, wenn es über einen längeren Zeitraum berechnet wird (z. B. eine große Schleife). Dadurch können nachfolgende E/A-Vorgänge nicht initiiert werden.

Übliche Lösung: Große Rechenaufgaben entsprechend anpassen und zerlegen.

Wenn die obige Lösung nicht gelöst werden kann, hat Node zwei andere Möglichkeiten, die CPU voll auszunutzen

    Node kann C/C++-Erweiterungen schreiben
  • über untergeordnete Prozesse. Methode: Verwenden Sie einen Teil des Node-Prozesses als residenten Serviceprozess für die Berechnung und verwenden Sie dann prozessübergreifende Nachrichten, um Ergebnisse zu übertragen, wodurch die Berechnung von der E/A getrennt wird.

Weitere Informationen zu Knoten finden Sie unter:
    nodejs-Tutorial
  • ! !

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Node.js anhand von 7 Fragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen