NestJS ist ein Framework für Server in Node.js, das Kamil Myśliwiec 2017 veröffentlicht hat. Es ist in TypeScript geschrieben und gibt Anwendungen eine feste Struktur, die sich deutlich an Angular orientiert.
- NestJS
Ein Framework für Node.js, das Server in Module, Controller und Dienste gliedert und Abhängigkeiten über einen Container verwaltet.
Beispiel: „Die Schnittstelle für die drei Apps ist mit NestJS gebaut, jedes Fachgebiet steckt in einem eigenen Modul.“Abgrenzung zu Express.js: NestJS nutzt Express oder wahlweise Fastify im Inneren und legt eine Struktur darüber, die Express selbst nicht vorgibt.
Wie NestJS aufgebaut ist
Aus Modulen, die ein Fachgebiet bündeln, Controllern, die Anfragen entgegennehmen, und Diensten, die die eigentliche Arbeit erledigen. Dekoratoren wie @Get oder @Injectable legen direkt am Code fest, welche Rolle eine Klasse hat.
Abhängigkeiten werden über Dependency Injection verteilt. Ein Controller bekommt den Dienst, den er braucht, vom Framework gereicht und muss ihn nicht selbst erzeugen.
Für wen NestJS passt
Für Teams, die große Server-Anwendungen in TypeScript bauen und eine einheitliche Struktur wollen. Wer Angular kennt, findet sich sofort zurecht, weil Begriffe und Aufbau sich gleichen.
Mitgeliefert werden Bausteine für Schnittstellen nach REST und GraphQL, für WebSockets, Warteschlangen und Microservices.
Wann NestJS zu viel ist
Bei kleinen Diensten mit einer Handvoll Routen. Dort ist die Struktur mehr Aufwand als Hilfe, und Express.js oder ein anderes schlankes Framework kommt schneller ans Ziel.
Für große Teams gilt das Gegenteil. Die feste Struktur ersetzt viele Absprachen, und wer neu ins Projekt kommt, findet Controller, Dienste und Module dort, wo er sie erwartet.