Heim >Web-Frontend >js-Tutorial >Was ist Nodejs

Was ist Nodejs

PHPz
PHPzOriginal
2024-08-01 01:44:23852Durchsuche

What is 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!

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
Vorheriger Artikel:Tag f JavaScriptNächster Artikel:Tag f JavaScript