Blog

Erste Schritte mit Node.js, npm, Coffeescript, Express, Jade und Redis

Erwin van der Koogh

Aktualisiert Oktober 22, 2025
4 Minuten
Zur Feier meines Wechsels in die Abteilung Agile Beratung und Schulung von Xebia hielt ich es für angemessen, mit einigen angesagten neuen Technologien zu spielen. Von ihren Homepages: Node.js: Evented I/O für V8-Javascript. (Ein Rahmenwerk für den Aufbau vollständig blockierungsfreier Server in Javascript) NPM: Ein Paketmanager für Node. CoffeeScript: Eine kleine Sprache, die sich in JavaScript kompilieren lässt Express: Leistungsstarke, hochklassige Webentwicklung für Node.js jade-lang.com/: Node Template Engine Redis: Ein quelloffener, fortschrittlicher Key-Value-Speicher In diesem Leitfaden gehe ich in sehr kleinen Schritten vor, so dass Sie überprüfen können, ob Sie noch auf dem richtigen Weg sind. Das Ergebnis ist eine extrem performante, skalierbare und leichtgewichtige Alternative für die Webentwicklung. Ich habe also eine brandneue virtuelle Maschine mit Ubuntu 11.4 installiert und losgelegt. Nachdem ich einige Anleitungen befolgt, gegoogelt und ein wenig herumprobiert hatte, kam ich auf diese Schritt-für-Schritt-Anleitung. Installieren von Node.js
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:jerome-etienne/neoip $ sudo apt-get update $ sudo apt-get install nodejs
Installieren von npm
$ apt-get install curl $ curl https://npmjs.org/install.sh | sudo sh
Node.js Hallo Welt
$ mkdir helloworld $ cd helloworld $ vi helloworld.js
einfügen
var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello Worldn');
}).listen(1337);
console.log('Server running at https://127.0.0.1:1337/');

$ node helloworld.js
siehe https://127.0.0.1:1337 Fügen Sie Coffeescript hinzu Wenn Sie so viel Javascript schreiben, werden Sie eine Menge Klammern, Semikolons und Klammern sehen. Lassen Sie uns Coffeescript verwenden, um unseren Code wieder lesbar zu machen.
$ sudo npm install -g coffee-script
$ cd ..
$ mkdir hellocoffee
$ cd hellocoffee
$ vi hellocoffee.coffee
einfügen
http = require "http"
http.createServer( (req, res) ->
    res.writeHead 200, {"Content-Type": "text/plain"}
    res.end "Hello Coffee!!"
).listen 1337
console.log 'Server running at https://127.0.0.1:1337/'
$ coffee -c hellocoffee.coffee
$ node hellocoffee.js
Und überprüfen Sie erneut https://127.0.0.1:1337. Hinzufügen von Express Node.js ist sehr leistungsfähig, aber es erfordert immer noch einiges an Boilerplating, um es für die Webentwicklung einzusetzen. Hier kommt Express ins Spiel. Es baut auf einer anderen Middleware-Schicht namens Connect auf und bietet Ihnen eine viel bessere Unterstützung bei der Bearbeitung von Anfragen, Rendering, Vorlagen und Antworten.
$ cd ..
$ sudo npm install -g mime qs connect express
$ mkdir helloexpress
$ cd helloexpress
$ express
$ npm install -d
$ node app.js
siehe https://127.0.0.1:3000
$ vi app2.coffee
einfügen:
express = require('express')
app = express.createServer()

# Setup configuration
app.use express.static(__dirname + '/public')
app.set 'view engine', 'jade'

# App Routes
app.get '/', (request, response) ->
    response.render 'index', { title: 'Express with Coffee' }

# Listen
app.listen 3000
console.log "Express server listening on port %d", app.address().port
$ coffee -c app2.coffee
$ node app2.js
Und überprüfen Sie erneut https://127.0.0.1:3000. Jetzt, wo Coffeescript mit Express funktioniert, können wir Sitzungen hinzufügen. Unterstützung für Sitzungen hinzufügen
$ vi app2.coffee
einfügen nach app.use express.static(__dirname + '/public')
app.use express.cookieParser()
app.use express.session {secret: "Coffeebreak" }
einfügen nach app.get '/', (request, response) ->
request.session.views++
ersetzen
response.render 'index', { title: request.session.views + ': Express with Coffee and sessions' }
$ coffee -c app2.coffee
$ node app2.js
Prüfen Sie https://127.0.0.1:3000 und aktualisieren Sie ein paar Mal. Sie sollten sehen, dass sich der Zähler erhöht. Installieren Sie Redis Öffnen Sie ein neues Terminal.
$ wget https://redis.googlecode.com/files/redis-2.2.11.tar.gz
$ tar -zxvf redis-2.2.11.tar.gz
$ cd redis-2.2.11/
$ sudo apt-get install build-essential
$ make
$ ./src/redis-server
Redis-Sitzung zum Knoten hinzufügen
$ npm install -d redis connect-redis
$ vi app2.coffee
einfügen nach express = require 'express'
RedisStore = require('connect-redis')(express)
ändern
app.use express.session {secret: "Coffeebreak", store: new RedisStore, cookie: { maxAge: 60000 } }
$ coffee -c app2.coffee
$ node app2.js
Im Redis-Terminal sollten Sie nun etwas wie folgt sehen:
[25489] 24 Jun 04:57:11 - DB 0: 1 keys (1 volatile) in 4 slots HT.
[25489] 24 Jun 04:57:11 - 1 clients connected (0 slaves), 799032 bytes in use
Prüfen Sie https://127.0.0.1:3000 und aktualisieren Sie mehrmals töten und starten Sie den Knoten neu
$ node app2.js
Prüfen Sie https://127.0.0.1:3000 erneut und aktualisieren Sie ein paar Mal Beachten Sie, dass Sie dort begonnen haben, wo Sie aufgehört haben. Und damit sind wir am Ende dieser Anleitung angelangt. Wie Sie sehen können, ist der Stack sehr leistungsfähig und extrem klein, leichtgewichtig und sauber. Mit all den Sitzungsinformationen im Redis-Speicher hängt die Verfügbarkeit des gesamten Systems von der Verfügbarkeit von Redis ab. Und da diese Jungs an einer richtigen Clustering-Lösung arbeiten, wird es sehr interessant sein, zu sehen, wohin sich all dies in naher Zukunft entwickeln wird.

Verfasst von

Erwin van der Koogh

Contact

Let’s discuss how we can support your journey.