Node.js Grundlagen

Node.js-Anwendungen schreibt man in der Scriptsprache JavaScript. Der Einstieg in Node.js fällt also leicht, sofern man bereits Erfahrung mit JavaScript hat.

In dieser Anleitung erkläre ich die Grundlagen von Node.js, dabei werden zumindest grundlegende Kenntnisse in JavaScript sowie eine installierte Node.js-Umgebung vorausgesetzt.

Aufbau #
Node.js ist Modular aufgebaut. Die Node.js-Plattform verfügt über bereits integrierte Module, weitere können über den mitgelieferten Paketmanager npm nachinstalliert werden.

Das JavaScript in der Node.js-Umgebung unterscheidet sich insofern vom dem im Webbrowser, das andere Funktionen zur Verfügung stehen.

Funktionen #
Neben den Standard JavaScript-Funktionen wie z.B. eval(), gibt es in der Node.js-Plattform weitere vordefinierte Funktionen. Eine solche Funktion ist z.B. console.log(), mit der sich Text in die Konsole schreiben lässt, ählich wie man es auch aus der Entwicklungs-Konsole in Webbrowsern kennt. Andere Funktionen speziell für Webbrowser-Umgebungen, beispielsweise alert(), existieren in Node.js hingegen nicht.

Module #
Allein mit den Standard Funktionen lässt sich kein Server programmieren. Deswegen enthält Node.js integrierte Module, welche weitere grundlegende Funktionen für Netzwerkanwendungen bereit stellen und eine Kommunikation mit der Außenwelt ermöglichen. Will man ein Modul in eine Anwendung laden, so verwendet man die Funktion require().

Als Beispiel stelle ich das Modul http vor. Es ist für das HTTP-Protokoll zuständig, und es lässt sich z.B. ein Webserver damit hosten. Der nachfolgende Code erstellt einen Webserver, der Hallo Welt! ausgibt:

var http = require(‚http‘);
var server = http.createServer(function (req, res) {
res.writeHead(200, {‚Content-Type‘: ‚text/plain‘});
res.end(‚Hallo Welt!‘);
}).listen(8080);
console.log(‚Der Webserver ist erreichbar unter http://127.0.0.1:8080/‘);
Wer mehr Details über den Code erfahren möchte, findet hier ein umfassendes Webserver Tutorial.

Weiterführendes #
Neben den vorgestelltem HTTP-Modul existieren weitere in Node.js integrierte Module, genaueres findet man in der offiziellen Dokkumentation (englisch).

Die Basis-Module decken jedoch nur grundlegende Bereiche ab. Für weitere Module gibt es Node Packaged Modules(kurz npm), ein Paketmanager, mit dem man erweiternde Module installieren kann (siehe npmjs.org).