NestJS für JavaScript (Node.js): Komplettleitfaden mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist NestJS und warum braucht man es?

NestJS ist ein progressives Framework zur Erstellung effizienter, zuverlässiger und skalierbarer serverseitiger Anwendungen mit Node.js. Es verwendet eine ausdrucksstarke Architektur, die von Angular inspiriert ist, und basiert standardmäßig auf TypeScript, unterstützt aber auch vollständig reines JavaScript. NestJS abstrahiert die Low-Level-Details gängiger Bibliotheken wie Express (Standard) oder Fastify und bietet dem Entwickler ein leistungsstarkes Toolkit zur Code-Organisation: Module, Controller, Services, Provider, Middleware, Guards, Interceptors, Pipes und Filter.

Warum NestJS? In der modernen Webentwicklung mit Node.js entsteht oft das Problem der Code-Organisation: Einfache Express-Skripte werden mit wachsender Funktionalität schnell zu "Spaghetti-Code". NestJS löst dieses Problem, indem es eine klare modulare Struktur und die Prinzipien der Abhängigkeitsinjektion (Dependency Injection) vorgibt. Dies erleichtert das Testen, die Wartung und die Skalierung der Anwendung. Das Framework eignet sich ideal für die Erstellung von REST-APIs, GraphQL-Servern, Microservices sowie für Echtzeitanwendungen (WebSockets).

Der entscheidende Vorteil von NestJS ist sein Ökosystem. Es bietet offizielle Module für die Arbeit mit Datenbanken (TypeORM, Mongoose, Prisma), Authentifizierung (Passport), Validierung (class-validator), Konfiguration, Warteschlangen (Bull), Caching und vielem mehr. Dadurch kann sich der Entwickler auf die Geschäftslogik konzentrieren, anstatt verschiedene Bibliotheken integrieren zu müssen.

Installation

Für die Installation von NestJS wird der Paketmanager npm (oder yarn) verwendet. Es wird empfohlen, das CLI-Tool global zu installieren, um schnell ein Projekt zu erstellen:

npm install -g @nestjs/cli

Nach der Installation des CLIs können Sie ein neues Projekt mit folgendem Befehl erstellen:

nest new my-nest-project

Während der Installation werden Sie aufgefordert, einen Paketmanager (npm, yarn oder pnpm) und eine Sprache (TypeScript – empfohlen, oder JavaScript) auszuwählen. Wenn Sie NestJS zu einem bestehenden Projekt hinzufügen möchten, installieren Sie die Kernpakete:

npm install @nestjs/core @nestjs/common @nestjs/platform-express reflect-metadata rxjs

Hinweis: Die Bibliothek reflect-metadata ist für die Funktion der Decorators zwingend erforderlich.

Schnellstart: Minimales funktionierendes Beispiel

Erstellen wir eine einfache REST-API mit einem Endpunkt, der "Hello World" zurückgibt.

Schritt 1: Erstellen Sie die Datei app.controller.js

// app.controller.js
const { Controller, Get } = require('@nestjs/common');

@Controller()
export class AppController {
    @Get()
    getHello() {
        return 'Hello World!';
    }
}

Schritt 2: Erstellen Sie die Datei app.module.js

// app.module.js
const { Module } = require('@nestjs/common');
const { AppController } = require('./app.controller');

@Module({
    controllers: [AppController],
})
export class AppModule {}

Schritt 3: Erstellen Sie die Hauptdatei main.js

// main.js
const { NestFactory } = require('@nestjs/core');
const { AppModule } = require('./app.module');

async function bootstrap() {
    const app = await NestFactory.create(AppModule);
    await app.listen(3000);
    console.log('Server läuft unter http://localhost:3000');
}
bootstrap();

Schritt 4: Starten Sie die Anwendung

node main.js

Gehen Sie nun zu http://localhost:3000 – Sie sehen "Hello World!".

Wichtige Methoden, Klassen und Decorators

Nachfolgend finden Sie 8 Schlüsselelemente von NestJS mit Signaturen, Beschreibungen und JavaScript-Beispielen

Empfehlungen