Anfängerwissen für Node.js


Da die ganze Node Welt noch sehr neu ist, hier eine kleine Sammlung, damit ich es nicht jedes Mal neu Googlen muss. Diese Liste wird wahrscheinlich stetig wachsen. Es lohnt sicher also sicher, hier immer mal wieder vorbeizuschauen.

Nützliche Module

NVM: Versions Manager für Node. Erlaubt es bestimmte Versionen von Node zu installieren und zu verwenden.

Smog: Ein einfacher GUI client für MongoDB in Node.js geschrieben.

nodemon: Startet den Nodeserver jedes mal neu auf, sobald eine Datei geändert hat. Macht das Entwickeln ein bisschen weniger aufwendig.

Express: Ein einfaches Web Framework. Bisher habe ich noch nicht sehr viel davon gebraucht, aber für den Anfänger ist vor allem die Middleware und das Routing sehr nützlich.

Node Unit: Ein einfach Unit testing Framework.

Gute Tutorials

Blog rolling with mongoDB, Express and Node.js. Erklärt simpel und einfach wie Node.js, express und mongodb zusammenspielen, ohne dabei andere Module/Bibliotheken zu verwenden. (Scheint viel einfacher zu sein: Node.js and MongoDB – Getting started with Mongojs)

Code School: Real-time Web with Node.js. Muss ich zuerst noch durchführen, sieht aber sehr unterhaltsam und informativ aus.

Authentication, Middleware, Express. Ein sehr einfaches Beispiel, wie sich eine Authentifizierung mit Node.js und Express umsetzen lässt.

nginx und Node.js. Stackoverflow Diskussion mit ein paar nützlichen Links, wie nginx konfiguriert werden muss, damit es gut mit Node.js zustammen spielt.

Mini Wissen

call/apply

function.apply(object, arguments);
//e.g. peter.agePlusOne.apply(fritz, ['Hurra']);

peter wäre in dem Fall ein Objekt mit einer Methode agePlusOne. Ich brauche die Methode agePlusOne von peter, setze jedoch den Scope von "this" auf fritz. Das stellt sicher, dass sich this nicht auf peter bezieht und dadurch sein Alter um 1 erhöht wird. Zusätzlich kann ich noch ein Array von Parametern der Methode agePlusOne übergeben.

Installation von nvm

nvm ermöglicht es, mehrere Nodeversionen parallel laufen zu lassen. Wenn nvm und node installiert ist, muss noch folgender Eintrage gemacht werden:

nano ~/.bashrc

// ganz unten noch folgende Zeile anfügen
. ~/.nvm/nvm.sh
nvm use 0.10.17

Nützliche Funktionen

Anzahl an Funktionsparameter

var invokee1 = function(err, callback) {
    // cant change this function
    callback();
};
console.log(invokee1.length);

//Resultat = 2 -> length = die Anzahl an Funktionsparameter