Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen Knotenumgebung und Browserumgebung?

Was ist der Unterschied zwischen Knotenumgebung und Browserumgebung?

WBOY
WBOYOriginal
2022-04-19 16:34:021857Durchsuche

Unterschied: 1. Im Knoten zeigt dies auf global, im Browser jedoch auf Fenster 2. In den meisten Fällen betreibt js im Browser direkt oder indirekt das DOM, aber nicht das DOM im Knoten. 3. Node bietet bequemere Komponenten zum Lesen und Schreiben von Dateien, es gibt jedoch keine Komponenten im Browser.

Was ist der Unterschied zwischen Knotenumgebung und Browserumgebung?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.

Was ist der Unterschied zwischen der Node-Umgebung und der Browser-Umgebung? 1. Der Sinn davon in der globalen Umgebung

Im Node zeigt dies auf global und im Browser zeigt es auf window Aus diesem Grund ist am Anfang im Unterstrich definiert.

var root = typeof self == 'object' && self.self === self && self ||
             typeof global == 'object' && global.global === global && global ||
             this;

Und es kapselt viele APIs unter dem Fenster im Browser, wie z. B. Warnung, Dokument, Standort, Verlauf usw. Wir können xxx(); oder window.xxx(); nicht in der Knotenumgebung verwenden. Da es sich bei diesen APIs um eine Kapselung auf Browserebene handelt, sind sie in JavaScript nicht verfügbar. Natürlich bietet node auch viele knotenspezifische APIs.

2. js-Engine

Verschiedene Browserhersteller bieten unterschiedliche Browserkerne in Browsern an, und Browser verlassen sich auf diese Kernel, um die von uns geschriebenen js zu interpretieren. Angesichts der kleinen Unterschiede zwischen verschiedenen Kerneln benötigen wir jedoch eine entsprechende Kompatibilität. Glücklicherweise gibt es einige hervorragende Bibliotheken, die uns bei der Bewältigung dieses Problems helfen, wie z. B. jquery, underscore usw.

 Nodejs basiert auf der JavaScript-Laufzeitumgebung von Chrome, was bedeutet, dass es tatsächlich die Google V8-Engine (angewandt auf den Google Chrome-Browser) kapselt. Die V8-Engine führt Javascript sehr schnell aus und hat eine sehr gute Leistung.

NodeJS bietet keine einfache Kapselung und stellt dann keine API-Aufrufe bereit. Wenn das der Fall wäre, wäre es nicht so beliebt wie jetzt. Node hat einige spezielle Anwendungsfälle optimiert und alternative APIs bereitgestellt, um die Ausführung von V8 in Nicht-Browser-Umgebungen zu verbessern. In einer Serverumgebung ist beispielsweise die Verarbeitung von Binärdaten oft unerlässlich, aber Javascript unterstützt dies nicht ausreichend. Daher fügt V8.Node die Buffer-Klasse hinzu, um Binärdaten bequem und effizient zu verarbeiten. Daher nutzt Node nicht nur einfach V8, sondern optimiert es auch, um es in verschiedenen Umgebungen leistungsfähiger zu machen.

 Die js-Engine wurde repariert und unterstützt auch Shenma-Kompatibilität.

3. DOM-Betrieb

In den meisten Fällen betreibt js im Browser das DOM direkt oder indirekt (einige virtuelle DOM-Bibliotheken und Frameworks). Denn der Code im Browser funktioniert hauptsächlich in der Präsentationsschicht. Aber Node ist eine serverseitige Technologie. Es gibt keine Startseite, daher werden wir das DOM nicht im Knoten betreiben.

4. E/A-Lesen und Schreiben

Im Gegensatz zu Browsern müssen wir Dateien wie andere serverseitige Technologien lesen und schreiben. Und der Browser (um die Kompatibilität sicherzustellen) hat große Probleme, wenn er ein lokales Bild direkt auf der Seite öffnen möchte (sagen Sie mir nicht, dass es sich nicht um einen einfachen, relativen Pfad handelt ... Probieren Sie es einfach aus und Sie werden es wissen oder finden Eine Bibliothek. Entweder ein Binärstream oder die Netzwerkadresse wird beim Hochladen angezeigt. Warum sollte sonst jemand eine JS-Bibliothek erstellen?), und all dies wird von einem Knoten mithilfe einer Komponente erledigt.

5. Laden von Modulen

JavaScript hat die Eigenschaft, dass die native API, die keine Paketreferenzen bereitstellt, alle zu ladenden Dinge auf einmal ausführt. Hier kommt es auf Ihre Abschlussfähigkeiten an. Alle verwendeten Dinge sind zusammen, es gibt kein Teilen und Herrschen und es gibt keine Logik oder Wiederverwendbarkeit. Wenn die Seite oder Website einfach ist, können wir natürlich einige AMD- und CMD-JS-Bibliotheken (wie requireJS und seaJS) verwenden, um dies zu erreichen. Tatsächlich tun dies viele große Websites.

  Die CMD-Modullade-API wird in nodeJS bereitgestellt. Wenn Sie seaJS verwendet haben, sollten Sie schnell loslegen.

 Node bietet auch npm, ein Paketverwaltungstool, mit dem wir unsere Trinkbibliotheken effektiver und bequemer verwalten können

 Natürlich hat ES6 im Browser auch diesen Zusatz, ich glaube, dass er in Zukunft besser sein wird. . .

Empfohlenes Lernen: „

nodejs-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Knotenumgebung und Browserumgebung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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