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).
Node.js Grundlagen,
Hallo,
ich bin blutiger Anfänger und habe eine frage. Wie kann ich eine auf Node.js geschriebene Klasse oder Quellcode auf meinem Raspberry pi speichern. Ich finde leider dazu keine Hilfe.
Gruß
Gregor
Hallo!
Kennt jemand vielleicht eine Referenz über node.js, wo auf die Grundlagen näher eingegangen wird? Man findet viele tolle Beispiele und Tutorials aber man findet kaum etws, wo mal die Grundlagen erklärt weden. Die Beispiele stecken voller unerklärter Einzelteile. Mal gibt es eine app.js, mal gibt es eine server.js, eine global.js, eine client.js – das Zusammenspiel bleibt immer unklar – es wird mit sockets rumhantiert, mit JADE Files oder ohne, mit html Dateien oder beidem… mit noch zusätzlichen javascript Dateien usw. usf. Aber die Prinzipien, die dahinter stecken, was wann wie in welcher Reihenfolge verwendet, aufgerufen und verarbeitet wird – dazu schweigen sich alle aus. So leider auch hier. Diese Seite erklärt kaum die Grundlagen. Sobald man versucht Beispiele zu erweitern oder zu kombinieren, scheitert man kläglich an den Grundlagen, weil irgendeine Reihenfolge falsch ist irgendwo ein Tab zu viel ist, ein require falsch ist oder man einfach keine Fehlermeldung zu sehen bekommt, weil man nicht weiß wie man eine ausgeben kann…. oder oder. Very frustrating stuff…
Bei Node.js führt man z.B. mit dem Konsolen-Befehl
node app.js
auch die entsprechende JavaScript-Datei namensapp.js
aus. Alle weiteren Aktionen werden dann über den Inhalt des Scriptesapp.js
bestimmt.Um nun auch bei Bedarf andere JavaScript-Dateien aufzurufen verwendet man innerhalb dieser
app.js
die Funktion require(), womit der JavaScript-Code der jeweiligen Datei in das Programm geladen wird. Viel mehr gibt es über die Funktionsweise Node.js an sich eigentlich gar nicht zu wissen.Alle anderen Dateien wie z.B. auch die
.jade
-Templates haben nichts mit dem Kern von Node.js zu tun, sondern werden von einem entsprechenden Modul verarbeitet. In diesem Fall ist dies das Modul jade, was sich über den Paketmanager NPM installieren lässt. In welchen Verzeichnis und nach welchen Dateinamen konkret gesucht wird, wird dabei im Programmcode festgelegt.Konnte ich dir damit weiterhelfen? Vielleicht wären auch die beiden Seiten Node.js Grundlagen und Module in Node.js für dich hilfreich.