Was ist Nodejs
Nodejs ist eine JavaScript-Laufzeitumgebung. Das bedeutet, dass es sich bei nodejs um ein Programm handelt, mit dem Sie JavaScript außerhalb des Browsers ausführen können. Dadurch kann man Backend-Anwendungen mit NodeJS entwickeln. Dies ist jedoch nicht auf das Backend beschränkt. Wir können Desktop-Anwendungen, IoTs und Cloud-Anwendungen erstellen, um nur einige zu nennen. Nodejs ist plattformübergreifend. Das Programm selbst läuft unter Linux, Windows und macOS.
Warum sollte man Nodejs verwenden?
Nodejs bietet einige Vorteile, darunter unter anderem:
- Nicht blockierende E/A
- Asynchron
- Skalierbar
- Event-Fahren
- hat eine geringe Latenz
- hat Gewinde
- kann überall und überall verwendet werden
- eine große Community haben
Wie das Sprichwort sagt, bedeuten sofortige Rückgaben langfristige Unannehmlichkeiten. Der Nachteil hier ist Javascript (ich liebe übrigens Javascript) und manchmal, dass man das System, das man bauen möchte, nicht im Hinblick auf die Skalierung entwirft. Auch hier sind es nicht Nodejs, sondern die Tools und Menschen, die Nodejs verwenden.
Mehr über NodeJS können Sie hier lesen
Installation
Die Leute bei Nodejs sind klug, respektiere das. Sie haben die Installation für Sie und mich erleichtert. Personen ohne technische Kenntnisse können Nodejs einrichten und mit dem Schreiben von Code beginnen. Sie stellten Optionen bereit, bei denen Folgendes verwendet werden kann:
- ein Paketmanager
- ein vorgefertigtes Installationsprogramm
- eine vorgefertigte Binärdatei
- und Installation durch Erstellen des Quellcodes
Unter diesen sind die ersten drei freundlich. Wählen Sie also eine davon. Gehen wir zu download-nodejs und „lassen Sie dort ein nodejs“.
Zu diesem Zeitpunkt ist die aktuelle Knotenversion 22 und LTS (mit Langzeitunterstützung) ist 20.
Ich verwende einen Linux-Rechner, also werde ich die Installation mit nvm (Node Version Manager) durchführen. Dies gibt uns das Gefühl, dass wir mehrere Versionen von NodeJS haben können. Dies funktioniert auch sofort für macOS.
# installs nvm (Node Version Manager) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # download and install Node.js (you may need to restart the terminal) nvm install 20 # verifies the right Node.js version is in the environment node -v # should print `v20.15.1` # verifies the right npm version is in the environment npm -v # should print `10.7.0`
Dies ist das gleiche Skript auf der NodeJS-Plattform (Website). Es sollte also keine Probleme geben, wenn Sie diese Befehle ausführen.
Für Windows wird etwas Ähnliches sein
# installs fnm (Fast Node Manager) winget install Schniz.fnm # download and install Node.js fnm use --install-if-missing 20 # verifies the right Node.js version is in the environment node -v # should print `v20.15.1` # verifies the right npm version is in the environment npm -v # should print `10.7.0`
Oder laden Sie einfach die vorgefertigte Installation Node-Prebuilt-Installer herunter. Am Ende des Tages sollten Sie in der Lage sein, die letzten beiden Befehle auszuführen, um Ihre Installationen zu überprüfen.
# verifies the right Node.js version is in the environment node -v # should print `v20.15.1` # verifies the right npm version is in the environment npm -v # should print `10.7.0`
NVM
nvm war während der Installation keine Option für Windows, aber es kann hier installiert werden, und es wird lehrreich sein, ein wenig darüber zu wissen.
Wir listen alle anderen Versionen von NodeJS auf, die wir haben, mit dem Befehl „nvm list“
username@computer-name:~$ nvm list -> v18.18.0 default -> 18.18.0 (-> v18.18.0) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v18.18.0) (default) stable -> 18.18 (-> v18.18.0) (default) lts/* -> lts/hydrogen (-> v18.18.0) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.21.3 (-> N/A) lts/gallium -> v16.20.2 (-> N/A) lts/hydrogen -> v18.18.0
Aus dem oben Gesagten können wir erkennen, dass v18.18.0 die von mir ausgeführten Nodejs ist.
Wir können mit nvm install 20 eine andere Version wie 20 LTS installieren
username@computer-name:~$ nvm install 20 Downloading and installing node v20.15.1... Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz... ######################################################################### 100.0% Computing checksum with sha256sum Checksums matched! Now using node v20.15.1 (npm v10.7.0)
Dies wurde automatisch auf Version 20.15.1 umgestellt. Welches ist das neueste LTS.
Jetzt kann ich zu unserer gewünschten Knotenversion wechseln, indem ich NVM 18 verwende
username@computer-name:~$ nvm use 18 Now using node v18.18.0 (npm v10.8.2) username@computer-name:~$ username@computer-name:~$ node -v v18.18.0
Und das wird es auf NVM sein
NPM
npm ist ein Knotenpaketmanager. Wenn Sie sich fragen, was ein Paket ist, machen Sie sich keine Sorgen. Ein Paket ist dasselbe wie eine Bibliothek. Einige Codeschnipsel oder Programme, die von einer anderen Person geschrieben wurden, können in unserem Programm verwendet werden, um etwas zu tun. Ein Paket soll also ein Problem und so weiter lösen. npm und andere Node-Paketmanager wie Yarn, Pnpm, Bun und andere helfen uns bei der Verwaltung der Pakete, die wir für unser Projekt installieren. Wir werden uns hier ausschließlich auf npm konzentrieren.
Um ein NodeJS-Projekt (nicht nur Javascript) zu starten, müssen wir Node-Pakete verwenden. Ich meine, es gibt Zeiten, in denen wir ein ganzes Programm entwickeln, ohne auf Bibliotheken von Drittanbietern angewiesen zu sein (Programme, die wir weder geschrieben haben noch mit Nodejs geliefert haben).
Wir können eine NodeJS-Anwendung erstellen, indem wir eine Node-Package.json-Datei mit dem Befehl npm init erstellen. Führen Sie npm init --help aus, um mehr über npm init zu erfahren. Normalerweise ist es besser, ein Knotenprogramm in einer neuen Umgebung (Ordner) zu starten. Also werden wir eines erstellen und es helloworld nennen. Ich werde das Terminal nutzen.
username@computer-name:~$ mkdir helloworld username@computer-name:~$ cd helloworld/ username@computer-name:~/helloworld$ npm init This utility will walk you through creating a package.json file. It only covers the most common items and tries to guess sensible defaults. See `npm help init` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg>` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (helloworld) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /home/username/helloworld/package.json: { "name": "helloworld", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "description": "" } Is this OK? (yes) username@computer-name:~/helloworld$
- Ich habe einen Ordner namens mkdir helloworld erstellt
- Ich habe in den Helloworld-Ordner gewechselt, cd helloworld
- Ich initialisiere dann den Knoten, npm init
Es wird wie ein Installationsassistent sein, der Sie durch die Konfigurationsschritte führt. Beachten Sie, dass Sie es später aktualisieren können. Sie müssen nur noch ENTER, ENTER drücken, bis der gesamte Vorgang abgeschlossen ist. Wenn Sie den Ordner „helloworld“ in einem Datei-Explorer öffnen, sehen Sie eine neue Datei, package.json, deren Inhalt der obigen Ausgabe ähnelt.
{ "name": "helloworld", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "description": "" }
Diese Konfiguration ist intuitiv. Hier erfahren Sie den Namen des Projekts (oder Programms), das wir erstellen möchten. Als Projektname wird der Name des übergeordneten Ordners verwendet. Während der Initialisierung des Knotens (Projekts) hätten wir ihm einen Namen geben und sogar Werte für die anderen Felder bereitstellen können. Hier drückten wir ENTER, ENTER, …
Another way to run through this without hitting ENTER, ENTER, …, is to do, npm init -y . -y, mean, yes, use the default values.
Primarily, node packages are on npmjs.com. Let’s say we want to install the expressjs library. This is how to search for express on npmjs. The docs will tell you how to install it using the command, npm i express.
username@computer-name:~/helloworld$ npm i express added 64 packages, and audited 65 packages in 4s 12 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
i means install. You write it out as npm install express. The package.json will be updated with the package added.
{ "name": "helloworld", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "description": "", "dependencies": { "express": "^4.19.2" } }
Now, we have a new dependency.
Note that no file or folder will be created. When we do ls
username@computer-name:~/helloworld$ ls node_modules package.json package-lock.json
- We have node_modules, which is a folder that holds the dependencies (packages) our program will use.
- Also we have, package-lock.json, which serves as a lockfile, hence the name. It captures the exact versions of the package that we install and use to create our programs. This way, the same packages and their specific versions can be used all the time since different versions of the same package may behave differently.
Anyways, we can install packages in three ways or rather environment. This is basically where you want the package to be used.
- global: This will be accessible to all node programs you have. Usually, install packages globally when they are general purpose programs like command line utilities.
- development: This is meant for development only and not used on some remote servers since the remote server will have its way of handling the use case of that dependency. These are usually utility libraries that work with other libraries to achieve a purpose. These may include but are not limited to eslint, prettier, dotenv, etc.
- production: This is a package that our application primarily relies on to function. Like express.
We can do,
- npm i -g package-names ... to globally install a package
- npm i --global package-names ... to globally install a package
- npm i -S package-names ... to install a package (for production)
- npm i --save package-names ... to install a package (for production)
- npm i -D package-names ... to install a package (for development, you won’t need it to make our application run)
- npm i --save-dev package-names ... to install a package (for development, you won’t need it to make our application run)
- npm uninstall package-names ... to remove or uninstall package
Essentially this is all that we will need to manage our packages.
Das obige ist der detaillierte Inhalt vonWas ist Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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





PlatztagsattheBottomofabogpostorwebpageServeSpracticalPurposesforseo, Usexperience und design.1ithelpswithseobyallowingEnginestoaccessKeyword-relevantTagswithoutClutteringHemainContent.2.

Die folgenden Punkte sollten bei der Verarbeitung von Daten und Zeiten in JavaScript festgestellt werden: 1. Es gibt viele Möglichkeiten, Datumsobjekte zu erstellen. Es wird empfohlen, ISO -Format -Zeichenfolgen zu verwenden, um die Kompatibilität sicherzustellen. 2. Die Zeitinformationen erhalten und festlegen können und setzen Sie Methoden fest, und beachten Sie, dass der Monat mit 0 beginnt. 3. Die manuell formatierende Daten sind Zeichenfolgen erforderlich, und auch Bibliotheken von Drittanbietern können verwendet werden. 4. Es wird empfohlen, Bibliotheken zu verwenden, die Zeitzonen wie Luxon unterstützen. Das Beherrschen dieser wichtigen Punkte kann häufige Fehler effektiv vermeiden.

Ereigniserfassung und Blase sind zwei Phasen der Ereignisausbreitung in DOM. Die Erfassung erfolgt von der oberen Schicht bis zum Zielelement, und die Blase ist vom Zielelement bis zur oberen Schicht. 1. Die Ereigniserfassung wird implementiert, indem der UseCapture -Parameter von AddEventListener auf true festgelegt wird. 2. Ereignisblase ist das Standardverhalten, Uscapture ist auf false oder weggelassen. 3. Die Ereignisausbreitung kann verwendet werden, um die Ereignisausbreitung zu verhindern. 4. Event Bubbling unterstützt die Ereignisdelegation, um die Effizienz der dynamischen Inhaltsverarbeitung zu verbessern. 5. Capture kann verwendet werden, um Ereignisse im Voraus abzufangen, wie z. B. Protokollierung oder Fehlerverarbeitung. Das Verständnis dieser beiden Phasen hilft dabei, das Timing und die Reaktion von JavaScript auf Benutzeroperationen genau zu steuern.

Der Hauptunterschied zwischen ES -Modul und CommonJs ist das Lademethode und das Nutzungsszenario. 1.Kommonjs ist synchron geladen und für die node.js server-Seite-Umgebung geeignet. 2. Das Modul ist asynchron geladen und für Netzwerkumgebungen wie Browser geeignet. A. 4.Commonjs wird in alten Versionen von Node.js und Bibliotheken, die auf IT wie Express angewiesen sind, häufig verwendet, während ES-Module für moderne Front-End-Frameworks und Node.jsv14 geeignet sind; 5. Obwohl es gemischt werden kann, kann es leicht zu Problemen führen.

Der Müllsammlung von JavaScript verwaltet den Speicher automatisch über einen Tag-Clearing-Algorithmus, um das Risiko eines Speicherlecks zu verringern. Der Motor durchquert und markiert das aktive Objekt aus dem Wurzelobjekt, und nicht markiert wird als Müll behandelt und gelöscht. Wenn das Objekt beispielsweise nicht mehr referenziert wird (z. B. die Variable nach NULL), wird es in der nächsten Runde des Recyclings freigegeben. Zu den häufigen Ursachen für Speicherlecks gehören: ① Ungeräte Timer oder Event -Hörer; ② Verweise auf externe Variablen in Schließungen; ③ Globale Variablen halten weiterhin eine große Datenmenge. Der V8 -Motor optimiert die Recyclingeffizienz durch Strategien wie Recycling von Generationen, inkrementelle Markierung, paralleles/gleichzeitiges Recycling und verkürzt die Hauptblockierungszeit. Während der Entwicklung sollten unnötige globale Referenzen vermieden und Objektverbände umgehend dekoriert werden, um die Leistung und Stabilität zu verbessern.

Es gibt drei gängige Möglichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abhängigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengenähten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorgänge zu vereinfachen. 3.Node-Fetch bietet einen Stil ähnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

Der Unterschied zwischen VaR, LET und CONT ist Geltungsbereich, Werbung und wiederholte Erklärungen. 1.VAR ist das Funktionsbereich mit variabler Werbung, die wiederholte Deklarationen ermöglicht. 2. Das Glied ist der Umfang auf Blockebene mit vorübergehenden toten Zonen, und wiederholte Erklärungen sind nicht zulässig. 3.Konst ist auch der Umfang auf Blockebene und muss sofort zugewiesen werden und kann nicht neu zugewiesen werden, aber der interne Wert des Referenztyps kann geändert werden. Verwenden Sie zuerst const, verwenden Sie LET, wenn Sie Variablen ändern, und vermeiden Sie die Verwendung von VAR.

Die Hauptgründe für den langsamen Betrieb von DOM sind die hohen Kosten für die Umlagerung, die Neuausrichtung und den niedrigen Zugangseffizienz. Zu den Optimierungsmethoden gehören: 1. Reduzieren Sie die Anzahl der Zugriffe und Cache -Lesewerte; 2. Batch -Lesen und Schreibvorgänge; 3.. Zusammenführen und ändern, Dokumentfragmente oder verborgene Elemente verwenden; V. 5. Verwenden Sie Framework oder RequestAnimationFrame Asynchronous Update.
