Einführung in NestJS
\n\nNestJS (Nest) ist ein progressives Framework zur Erstellung effizienter, skalierbarer und zuverlässiger Serveranwendungen auf Node.js. Es verwendet TypeScript als Hauptsprache und ist von der Architektur von Angular inspiriert. NestJS bietet eine vorgefertigte Anwendungsarchitektur, die Entwicklern hilft, gut strukturierten, testbaren und wartbaren Code zu erstellen.
\n\nDas Hauptziel von NestJS ist es, das Problem des Fehlens einer klaren Architektur im Node.js-Ökosystem zu lösen. Im Gegensatz zu Express oder Fastify, die minimalistisch sind und keine Struktur vorgeben, bietet NestJS vorgefertigte Abstraktionen: Module, Controller, Services, Provider und Middleware. Dies ist besonders nützlich für große Unternehmensprojekte, bei denen Vorhersagbarkeit und Standardisierung des Codes wichtig sind.
\n\nNestJS ist auf HTTP-Frameworks aufgebaut (standardmäßig Express, aber Fastify kann verwendet werden) und fügt ihnen ein leistungsstarkes System zur Abhängigkeitsinjektion (Dependency Injection), Decorators, Guards, Interceptors, Pipes und Filters hinzu. Das Framework nutzt aktiv TypeScript-Decorators, was den Code deklarativ und lesbar macht.
\n\nInstallation von NestJS
\n\nFür die Installation von NestJS benötigen Sie Node.js (Version 16 oder höher) und einen Paketmanager npm (oder yarn, pnpm).
\n\nDer einfachste Weg, um zu beginnen, ist die Verwendung der Nest CLI:
\n\nnpm install -g @nestjs/cli\nnest new my-nest-project\ncd my-nest-project\nnpm run start:dev\n\nWenn Sie NestJS in einem bereits bestehenden Projekt installieren möchten:
\n\nnpm install @nestjs/core @nestjs/common @nestjs/platform-express reflect-metadata rxjs typescript @types/node\n\nAußerdem müssen TypeScript und ts-node für die Entwicklung installiert werden:
\n\nnpm install -D typescript @types/node ts-node\n\nWichtig: NestJS verwendet die Bibliothek reflect-metadata für die Arbeit mit Decorators. Stellen Sie sicher, dass sie in der Hauptdatei main.ts importiert wird:
import "reflect-metadata";\n\nSchnellstart mit Codebeispiel
\n\nErstellen wir eine einfache REST-API-Anwendung mit einem Endpunkt, der eine Begrüßung zurückgibt.
\n\nProjektstruktur:
\nsrc/\n├── app.controller.ts\n├── app.module.ts\n├── app.service.ts\n└── main.ts\n\nmain.ts — Einstiegspunkt:
\nimport { NestFactory } from '@nestjs/core';\nimport { AppModule } from './app.module';\n\nasync function bootstrap() {\n const app = await NestFactory.create(AppModule);\n await app.listen(3000);\n console.log('Server is running on http://localhost:3000');\n}\nbootstrap();\n\napp.module.ts — Root-Modul:
\nimport { Module } from '@nestjs/common';\nimport { AppController } from './app.controller';\nimport { AppService } from './app.service';\n\n@Module({\n imports: [],\n controllers: [AppController],\n providers: [AppService],\n})\nexport class AppModule {}\n\napp.controller.ts — Controller:
\nimport { Controller, Get } from '@nestjs/common';\nimport { AppService } from './app.service';\n\n@Controller()\nexport class AppController {\n constructor(private readonly appService: AppService) {}\n\n @Get()\n getHello(): string {\n return this.appService.getHello();\n }\n}\n\napp.service.ts — Service (Geschäftslogik):
\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class AppService {\n getHello(): string {\n return 'Hello World!';\n }\n}\n\nStarten Sie die Anwendung mit dem Befehl npm run start:dev und öffnen Sie http://localhost:3000. Sie sehen "Hello World!".
Grundlegende Methoden und Funktionen von NestJS
\n\nBetrachten wir 10 Schlüsselelemente von NestJS, die in jedem Projekt verwendet werden.
\n\n1. @Module() — Modul-Decorator
\nWas es tut: Definiert eine Kla
Auch in der Bibliothek
Arbeiten mit S3 und Cloud-Speichern in Swift (iOS/macOS): AWSS3 und Amplify
Kysely TypeScript: Vollständiges Tutorial mit Codebeispielen
Die C++-Standardbibliothek: Ein vollständiger Überblick über die Funktionen
Aufgabenplaner für Node.js: node-schedule und node-cron
Composer für PHP: Vollständiger Leitfaden mit Beispielen