Heim > Web-Frontend > Front-End-Fragen und Antworten > Was sind die Funktionen von node.js?

Was sind die Funktionen von node.js?

青灯夜游
Freigeben: 2022-07-18 17:56:43
Original
4181 Leute haben es durchsucht

nodejs weist drei Merkmale auf: 1. Serverseitig; Nodejs wird auf der Serverseite ausgeführt und stellt Umgebungsdienste für die laufende Umgebung von Javascript bereit. 2. Nicht blockierendes asynchrones Verfahren. Nodejs verwendet einen nicht blockierenden E/A-Mechanismus, der bei der Ausführung von E/A-Vorgängen keine Blockierung verursacht. 3. Ereignisgesteuert; wenn eine neue Anfrage eingeht, wird die Anfrage in eine Ereigniswarteschlange verschoben und dann wird eine Schleife verwendet, um Ereignisstatusänderungen in der Warteschlange zu erkennen. Wenn ein Ereignis mit einer Statusänderung erkannt wird, wird es ausgeführt Der diesem Ereignis entsprechende Verarbeitungscode.

Was sind die Funktionen von node.js?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, NodeJS Version 16, DELL G3-Computer.

Was ist Node.js?

Node.js ist eine Open-Source- und plattformübergreifende JavaScript-Laufzeitumgebung, oder mit anderen Worten, eine Plattform.

Führen Sie die V8-JavaScript-Engine (den Kern von Google Chrome) außerhalb des Browsers aus und nutzen Sie Technologien wie ereignisgesteuerte, nicht blockierende und asynchrone Eingabe- und Ausgabemodelle, um die Leistung zu verbessern.

Es versteht sich, dass Node.js eine serverseitige, nicht blockierende E/A- und ereignisgesteuerte JavaScript-Ausführungsumgebung ist.

Wie oben beschrieben, ist es nicht schwer, den Schluss zu ziehen, dass Node.js drei Merkmale aufweist: serverseitig, nicht blockierende E/A und ereignisgesteuert. Als nächstes analysieren wir die drei Funktionen:

  • ① Serverseite: Im wahrsten Sinne des Wortes läuft Node.js auf der Serverseite und stellt Umgebungsdienste für die laufende Umgebung von Javascript bereit.

  • ② Nicht blockierend asynchron: Node.js verwendet einen nicht blockierenden E/A-Mechanismus, der bei der Ausführung von E/A-Vorgängen keine Blockierung verursacht. Nach Abschluss wird die Ausführung des Vorgangs im Formular benachrichtigt der Zeit.

    Nachdem beispielsweise der Code ausgeführt wurde, der auf die Datenbank zugreift, wird der nachfolgende Code sofort ausgeführt und der Verarbeitungscode für das Rückgabeergebnis der Datenbank wird in die Rückruffunktion eingefügt, wodurch die Ausführungseffizienz des Programms verbessert wird.

  • ③ Ereignisgesteuert: Ereignisgesteuert bedeutet, dass, wenn eine neue Anfrage eingeht, die Anfrage in eine Ereigniswarteschlange verschoben wird und dann eine Schleife verwendet wird, um Ereignisstatusänderungen in der Warteschlange zu erkennen, wenn sich der Status ändert Wenn ein Ereignis erkannt wird, führen Sie dann den dem Ereignis entsprechenden Verarbeitungscode aus, bei dem es sich normalerweise um eine Rückruffunktion handelt

    Beim Lesen einer Datei wird beispielsweise nach dem Lesen der Datei der entsprechende Status ausgelöst und dann über den entsprechenden Rückruf verarbeitet Funktion

Wissenserweiterung:

node.js ist ein Single-Thread-Dienst (JS ist ursprünglich sowohl auf der Browser- als auch auf der Serverseite Single-Threaded). Gleichzeitig verfügt es über das weltweit größte Open-Source-Bibliotheksökosystem: npm.

Was sind die Vor- und Nachteile von Node.js?

> Vorteile

  • Bessere Leistung bei der Handhabung von Szenarien mit hoher Parallelität

  • Geeignet für E/A-intensive Anwendungen. Der Wert liegt darin, dass die CPU-Auslastung sinkt, wenn die Anwendung am Limit läuft ist immer noch relativ gering. Die meiste Zeit wird für Lese- und Schreibvorgänge im E/A-Festplattenspeicher aufgewendet. Nachteile: Da Node.js Single-Threaded ist, sind die Nachteile: Nicht geeignet für CPU-intensive Anwendungen

Unterstützt nur Single-Core-CPUs und kann die CPU nicht vollständig nutzen

Geringe Zuverlässigkeit Sobald ein bestimmter Link des Codes abstürzt, bricht das gesamte System zusammen.

  • Was kann Node.js?
  • Stellen Sie dem Browser Daten zur Anzeige bereit.

Speichern Sie die vom Benutzer übermittelten Daten.Was sind die Funktionen von node.js?

Datenstatistik und -analyse ;
In Node.js können mehrere JavaScriptrequiregeladen und ausgeführt werden > Methode. /code> Skriptdatei;
require kann nur durch Ausführen des darin enthaltenen Codes geladen werden, da es kein Verschmutzungsproblem gibt Das Modul ist vollständig geschlossen

Das Äußere kann nicht auf das Innere zugreifen
  • Das Innere kann nicht auf das Äußere zugreifen
  • Obwohl der Modulumfang einige Vorteile bringen kann, können mehrere Dateien geladen und ausgeführt werden sowie die Benennung von Variablen Konflikte können vollständig vermieden werden. Verschmutzungsproblem.
    In einigen Fällen müssen Module jedoch miteinander kommunizieren. In jedem Modul wird ein Objekt bereitgestellt: „exports“, das standardmäßig ein leeres Objekt ist.
    Während der Verwendung werden Mitglieder, auf die extern zugegriffen werden muss, manuell in das Schnittstellenobjekt „exports“ eingebunden.
    Dann wird „require“ > angezeigt. Mit diesem Modul kann jeder das Schnittstellenobjekt exports innerhalb des Moduls abrufen.

KernmoduleKernmodule sind benannte Module, die von Node bereitgestellt werden. Sie haben ihre eigenen speziellen Namensbezeichner, wie zum Beispiel:

Node.js 中没有全局作用域的概念;
Node.js 中,只能通过 require 方法来加载执行多个 JavaScript 脚本文件;
require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题;

  • 模块完全是封闭的

  • 外部无法访问内部

  • 内部也无法访问外部

模块作用域虽然可以带来了一些好处,可以加载执行多个文件,可以完全避免变量命名冲突污染的问题。
但是某些情况下,模块与模块是需要进行通信的。在每个模块中,都提供了一个对象:‘exports’,该对象默认是一个空对象。
在使用过程中,需要被外部访问使用的成员手动的挂载到 ’exports‘ 接口对象中,
然后谁来 ’require‘ 这个模块,谁就可以得到模块内部的 exports 接口对象。

核心模块

核心模块是由 Node 提供的一个个的具名的模块,它们都有自己特殊的名称标识,例如:

  • fsfs: Dateioperationsmodul

  • http: Modul zum Aufbau von Netzwerkdiensten http:网络服务构建模块

  • os:操作系统信息模块

  • path:路径处理模块

所有核心模块在使用的时候都必须手动的先使用 require 方法来加载,然后才可以使用,例如: ‘var fs = require('fs')’

Node.js 应用场景

借助Nodejs的特点和弊端,其应用场景分类如下:

  • 善于I/O,不善于计算。因为Nodejs是一个单线程,如果计算(同步)太多,则会阻塞这个线程;

  • 大量并发的I/O,应用程序内部并不需要进行非常复杂的处理;

  • websocket 配合,开发长连接的实时交互应用程序,即:实时通讯 ;

具体场景可以表现为如下:

① 用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序;

② 基于web、canvas等多人联网游戏;

③ 基于 web 的多人实时聊天客户端、聊天室、图文直播;

④ 单页面浏览器应用程序;

⑤操作数据库、为前端和移动端提供基于json的API;

其实,Node.js

os: Betriebssysteminformationsmodul

🎜🎜path: Pfadverarbeitungsmodul🎜 🎜🎜Alle Kernmodule müssen manuell mit der Methode require geladen werden, bevor sie verwendet werden können, zum Beispiel: 'var fs = require('fs' )'🎜🎜Node.js-Anwendungsszenarien🎜🎜Unter Verwendung der Eigenschaften und Nachteile von Nodejs werden seine Anwendungsszenarien wie folgt klassifiziert: 🎜
    🎜🎜Gut in I/O, aber nicht gut in der Berechnung. Da es sich bei Nodejs um einen einzelnen Thread handelt, wird dieser Thread blockiert, wenn zu viele Berechnungen (Synchronisation) durchgeführt werden. Eine große Anzahl gleichzeitiger I/O erfordert keine sehr komplexe Verarbeitung innerhalb des Anwendung 🎜🎜🎜🎜 arbeitet mit websocket zusammen, um lange verbundene interaktive Echtzeitanwendungen zu entwickeln, das heißt: Echtzeitkommunikation 🎜🎜
🎜Die Das spezifische Szenario kann wie folgt ausgedrückt werden: 🎜🎜① Benutzerformular-Sammelsystem, Hintergrundverwaltungssystem, Echtzeit-Interaktionssystem, Prüfungssystem, Netzwerksoftware, Webanwendungen mit hoher Parallelität 🎜🎜② Basierend auf Web, Canvas und andere Multiplayer-Online-Spiele; 🎜🎜③ Echtzeit-Chat-Client für mehrere Personen, grafische Live-Übertragung basierend auf <code>Web; 🎜⑤ Betriebsdatenbank, bereitgestellt für Front-End- und mobile Terminals API basierend auf JSON 🎜🎜Tatsächlich kann Node.js fast alle Anwendungen realisieren, aber es muss berücksichtigt werden, ob das aktuelle Szenario für die Verwendung von Node.js geeignet ist und ob die Verwendung von Node.js die „optimale Lösung“ ist, müssen Leistungsprobleme berücksichtigt werden. 🎜🎜Weitere Informationen zu Knoten finden Sie unter: 🎜nodejs-Tutorial🎜! 🎜

Das obige ist der detaillierte Inhalt vonWas sind die Funktionen von node.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage