Express – Basic Express App Setup

Tutorial NodeJs

von Ardian Shala, 20.04.2017
Express ist ein schnelles, einfaches und flexibles Node.js Framework, welches das Einrichten eines JavaScript Backend erleichtert.
Hier demonstriert mit einem simplen Setup.
Vorraussetzung:

Express Projekt erstellen

Eine Express Anwendung ist im Grunde eine NodeJs App, welche wie folgt initialisiert wird:
npm init

Express installieren

npm install express --save-dev

Express Start Script erstellen

Das Start Script stellt den Einstiegspunkt für die Express Anwendung dar.
Hier wird Express integriert und eine kleine App erstellt.
Diese lädt durch "app.use(/*, ..." eine index.html Datei, welche den Einstieg für die visuelle Ansicht dient.

index.js

var express = require('express');
var app = express();

app.use(express.static(__dirname + '/public'));

app.use('/*', function (req, res) {
    res.sendFile(__dirname + '/public/index.html');
});

app.listen(3000, function () {
    console.log('Listening on port %d', 3000);
});

Index.html erstellen

Der Einfachheit halber wird hier eine kleine index.html Datei erstellt.

<html>

<head>
    <title>NodeJs Express Setup</title>
</head>

<body>
    <h1>Hallo Express</h1>
</body>

</html>

Express App starten

Die NodeJs Express App lässt sich über das Einstiegs Script „index.js“ starten.
Hierfür ergänzt man in der „package.json“ Datei folgenden Eintrag:

"scripts": {
    "start": "node index.js"
  },

Und staret schließlich die NodeJs Express App über:
npm run start

Dies startet einen Prozess, welcher unter folgender Url nun im Browser zugreifbar ist:
localhost:3000

Fazit

Mittels Express lässt sich ziemlich schnell ein Grundgerüst für ein JavaScript Backend erstellen.
Express dient z.B. wunderbar als Backend für SPA Anwendungen und lässt sich so auch schnell mit AngularJs, Vue etc einsetzen.
Hierfür gibt es weitere packages, die das Interagieren von Express mit definierten API Routen vereinfachen.

Autor: Ardian Shala

Ersteller der Webseite MuchaDev. Frontend Entwickler mit Angular, Ionic und Backend Entwickler mit C#.