node.js

vorige Präsentation: Javascript Vertiefung | zurück zum Buch-Kapitel [esc] | Nächste Präsentation TypeScript

node.js logo

Node.js ist ein JavaScript-Interpreter mit einer sehr kleinen zusätzlichen C-Bibliothek.

Nach der Lektüre dieses Leitfadens solltest du


Was ist Node.js?

Node.js wurde ursprünglich 2009 von Ryan Dahl geschrieben als Kombination zweier bereits existierender Softwarekomponenten:

Dazu kam eine in JavaScript geschriebene Standardbibliothek. 2010 wurde mit npm ein Paketmanager für JavaScript-Bibliotheken ergänzt.

Wie groß ist Node.js?

Laut OpenHub bestand das Node-Projekt im Jahr 2023 aus:

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.js
Hello Node

Pakete

Der npm Paketmanager kann Javascript-Pakete aus dem Internet (von https://www.npmjs.com/) herunterladen und installieren.

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 -y

Die 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

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_modules
4,0K	package-lock.json
4,0K	package.json

Es sind drei Dinge passiert:

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:

Meme über node_modules

Quelle Reddit r/ProgrammerHumor

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/nodejs

Das Programm gibt einen QR Code der URL aus:

QR Code für diese Webseite

import

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';

node.js

vorige Präsentation: Javascript Vertiefung | zurück zum Buch-Kapitel [esc] | Nächste Präsentation TypeScript

/

#