NodeJS
Ein I/O Framework für die V8 JavaScript Engine, arbeitet mit einem Event Loop.
Node ist Single-threaded, I/O ist ein Event und asynchron. Der Kern von Node entspricht dem Reactor Design Pattern, der Event Loop lässt unabhängige Unterprozesse arbeiten, die ihre Ergebnisse asynchron durch Callbacks zurückgeben. Jedes Event kann mit einer Callback Funktion aufgerufen werden, wodurch der Event Loop nicht blockiert wird.
% node
Welcome to Node.js v18.13.0.
Type ".help" for more information.
>
Node unterstützt ein simples Modul System. Module werden einfach als Dateien geladen.
NPM
Der Node Package Manager ist der Standard zum managen von Node Paketen.
Mit npm lässt sich auf der Kommandozeile das Repository durchsuchen, Pakete installieren, aktualisieren oder wieder löschen.
Bei der Installation eines Pakets werden die Abhängigkeiten gleich mit heruntergeladen und installiert. Pakete können lokal und global installiert werden.
npm install <package>
npm install -g <package>
npm install <package> --save
npm rm <package>
npm view <package>
Die installierten Pakete kann man sich nach unterschiedlichen Kriterien ausgeben lassen.
npm ls installed
npm ls stable
npm ls installed stable
npm ls [filter]
npm ls fug
npm ls @1.0
Um sich die Version von einem Paket anzeigen zu lassen.
npm view <package-name> version
Um zu schauen ob noch aktuelle Version verwendet werden.
npm outdated
Um Pakete in der aktuellen Version zu haben kann man sie einfach aktualisieren.
npm update
npm update <package-name>
Mit npm init kann man sich auf der Konsole eine package.json Datei erstellen lassen.
npm init
Ein Paket besteht aus einer Verzeichnisstruktur und einer packge.json Datei.
{
"name": "mypackage",
"description": "Explain the package and what it does",
"version": "0.0.1",
"main": "./index.js",
"dependencies": {
"connect": "2.1.2"
}
}
Weitere Informationen bekommt man mit npm help json.
NPM Pakete publizieren
Um das Paket zu publizieren stellt npm den Befehl publish zur Verfügung. Zuvor braucht man einen Account bei npmjs.org oder man erstellt diesen auf der Konsole.
npm adduser
Anschliessend kann das Paket veröffentlicht werden.
npm publish
Um das Paket wieder zu entfernen, verwendet man unpublish.
npm unpublish
Wenn das Paket aktualisiert werden soll, setzt die Versionsnummer auf die neue Version und publiziert das Paket wieder.
npm version patch
npm publish
NVM
Node Version Manager zum verwalten von unterschiedlichen Node Versionen.
Es kann mit curl oder npm installiert werden.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
npm install -g nvm
Anschliessend kann man die gewünschte Version installieren.
nvm install 4.0.0
Um die installieren Versionen anzuzeigen kann nvm ls verwendet werden.
Die zur Verfügung stehenden Versionen bekommt man mit nvm ls-remote
.
Die jeweilige Version kann mit use genutzt werden.
nvm use 0.10.0
Es kann auch über ein Alias stable die letzte stabile Version installiert werden.
Man kann Skripte auch mit einer bestimmten Version ausführen und noch einiges mehr.