Zum Inhalt

Dokumentation – JavaScript Module (M295 Aufgabe 4.1)

Autor: Lars Hellstern
Datum: 25.02.2026
Port: 4008
Modul: M295 – Backend für Applikationen realisieren


Übersicht

Ich habe ein eigenes Node.js-Modul (mathModule.js) erstellt und dieses in einem HTTP-Server (server.js) verwendet. Der Server läuft auf dem Raspberry Pi auf Port 4008.


Dateistruktur

/home/m295/class/lars/
├── mathModule.js
└── server.js

Teil 1 – Modul: mathModule.js

function calculateAverage(numbers) {
    const sum = numbers.reduce((acc, n) => acc + n, 0);
    return sum / numbers.length;
}

module.exports = { calculateAverage };

Teil 2 – Server: server.js

const http = require('http');
const url = require('url');
const { calculateAverage } = require('./mathModule');

const PORT = 4008;

const server = http.createServer((req, res) => {
    const parsed = url.parse(req.url, true);

    if (parsed.pathname === '/average') {
        const numbers = parsed.query.numbers
            .split(',')
            .map(Number);

        const avg = calculateAverage(numbers);
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end(`Average: ${avg}`);
    } else {
        res.writeHead(404);
        res.end('Not found');
    }
});

server.listen(PORT, () => {
    console.log(`Server läuft auf Port ${PORT}`);
});
Route Beschreibung
/average?numbers=4,5,6 Gibt den Durchschnitt der Zahlen zurück

Teil 3 – Server starten

ssh m295@10.27.160.12
cd /home/m295/class/lars
./start.sh

Teil 4 – Ergebnis

Aufruf im Browser:

http://10.27.160.12:4008/average?numbers=4,5,9

Ergebnis im Browser

alt text

Weitere Beispiele:

http://10.27.160.12:4008/average?numbers=1,2,3     → Average: 2
http://10.27.160.12:4008/average?numbers=10,20,30  → Average: 20