Top

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