node.js
Node.js ist ein JavaScript-Interpreter mit einer sehr kleinen zusätzlichen C-Bibliothek.
Nach der Lektüre dieses Leitfadens solltest du
- wissen, wie man packages mit npm installiert
- in der Lage sein ein Programm zu starten, dass in node.js programmiert ist
Was ist Node.js?
Abschnitt betitelt „Was ist Node.js?“Node.js wurde ursprünglich 2009 von Ryan Dahl geschrieben als Kombination zweier bereits existierender Softwarekomponenten:
- dem Google JavaScript-Interpreter V8 – Code
- einer Bibliothek für asynchrones Programmieren libuv – Code
Dazu kam eine in JavaScript geschriebene Standardbibliothek. 2010 wurde mit npm ein Paketmanager für JavaScript-Bibliotheken ergänzt.
Wie groß ist Node.js?
Abschnitt betitelt „Wie groß ist Node.js?“Laut OpenHub bestand das Node-Projekt im Jahr 2023 aus:
- der Node-Bibliothek: 1,6 Millionen Zeilen JavaScript
- den Node-Bindings: 2,5 Millionen Zeilen C
- V8: 2,3 Millionen Zeilen C++
- libuv: 100.000 Zeilen C
Hallo Node
Abschnitt betitelt „Hallo Node“Du schreibst dein Programm in JavaScript, speicherst es in einer Datei:
console.log("Hello Node");und führst es mit dem node-Befehl aus:
$ node hello.jsHello NodeDer npm Paketmanager kann Javascript-Pakete aus dem Internet (von https://www.npmjs.com/) herunterladen und installieren.
package.json
Abschnitt betitelt „package.json“Dazu muss man zuerst ein Projekt in einem eigenen Ordner starten
und dort die Datei package.json anlegen:
Diese erzeugt man mit dem Befehl
$ mkdir mein_projekt$ cd mein_projekt$ npm init -yDie Datei package.json sieht ungefähr so aus:
{ "name": "mein_projekt", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "type": "module"}Finde den Key type und stell sicher dass als Wert "module" angegeben ist.
node_modules
Abschnitt betitelt „node_modules“Der Package manager npm installiert die packages
im Ordner node_modules. Als Beispiel installieren wir
ein Package namens qrcode-terminal
$ npm install qrcode-terminal
added 1 package, and audited 2 packages in 599ms
found 0 vulnerabilities
$ du -h -s *160K node_modules4,0K package-lock.json4,0K package.jsonEs sind drei Dinge passiert:
- in
package.jsonwurde eingetragen dass wirqrcode-terminalverwenden wollen package-lock.jsonwurde erstellt. Hier würden weitere Dependencies eingetragen, dieqrcode-terminalbraucht- im Ordner
node_moduleswurde ein Unter-Ordnerqrcode-terminalerstellt, er enthält das installierte Package
Kleine Pakete, Grosses node_modules
Abschnitt betitelt „Kleine Pakete, Grosses node_modules“Javascript hat den Ruf besonders viele kleine Pakete zu verwenden,
und besonders viel Speicherplatz für node_modules zu verbrauchen:

Quelle Reddit r/ProgrammerHumor
Node Package eXecute - npx
Abschnitt betitelt „Node Package eXecute - npx“Das Package qrcode-terminal enthält ein ausführbares
Programm für die Kommandozeile. Mit “Node Package eXecute”
kann man es starten und ihm eine URL übergeben:
npx qrcode-terminal https://web-development.github.io/advanced-javascript/nodejsDas Programm gibt einen QR Code der URL aus:

Für javascript-Programm vom typ Module die mit node.js gestartet
werden gilt:
Verwende “barewords” für Pakete aus node_modules, und relative Pfade
für eigene Dateien:
import * as http from 'http';import * as config from './config/index.js';beantwortet: 0 / 0 (0%)
richtig: 0 / 0 (0%)