todo<\/strong><\/code>-Controller zu erstellen, wird folgender Befehl verwendet:<\/p>\n\n\n\nnest generate controller todo\n <\/code><\/pre>\n\n\n\nWeist ein Controller denselben Namen auf wie ein Modul, wird dieser dem Modul automatisch zugeordnet. Ansonsten kann diese Zuordnung auch erreicht werden, indem der Modulname dem Controllernamen voran gestellt und durch einen Slash getrennt wird. Die Zuordnung sorgt außerdem dafür, dass der Controller automatisch im Modul eingetragen und damit verwendet werden kann. Neben der Controller-Datei wird eine Datei mit der Endung .spec.ts<\/code> erzeugt. Diese Datei enthält einen ersten Unittest für den Controller. Tests können in einer Nest.js-Applikation mit dem Kommando npm test<\/strong><\/code> ausgeführt werden. Standardmäßig wird das Test-Framework jest<\/code> <\/strong>von Nest.js eingesetzt.<\/p>\n\n\n\nService<\/h4>\n\n\n\n
Der @Injectable<\/strong><\/code>-Decorator leitet eine Service-Klasse ein. Diese kann sowohl Datenlieferant als auch Logikcontainer in einer Applikation sein.<\/p>\n\n\n\nimport { Injectable } from '@nestjs\/common';\n \n@Injectable()\nexport class AppService {\n getHello(): string {\n return<\/strong> 'Hello World!';\n }\n}\n <\/code><\/pre>\n\n\n\nIm Beispiel liefert die getHello<\/strong><\/code>-Methode lediglich die Zeichenkette Hello World!<\/strong><\/code>, die an den Client gesendet wird. Eine Änderung des Rückgabewertes von Hello World!<\/strong><\/code> zu Hello Client<\/strong>!<\/code> führt durch die Kombination aus nodemon<\/code> <\/strong>und TypeScript-Compiler dazu, dass der Serverprozess automatisch neu gestartet wird. Der Benutzer muss anschließend lediglich das Browserfenster neu laden, damit auch dort die Änderungen wirksam werden.<\/p>\n\n\n\nEin todo-Service wird wie folgt zum Projekt hinzugefügt:<\/p>\n\n\n\n
nest generate service todo\n <\/code><\/pre>\n\n\n\nAuch hier gilt: Hat der Service denselben Namen wie ein bestehendes Modul, wird die Datei im Verzeichnis des Moduls angelegt und der Service im Modul registriert. Anschließend kann der Service innerhalb des Moduls über die Dependency Injection eingebunden und verwendet werden.<\/p>\n\n\n\n
Ähnlich wie beim Controller, wird beim Erzeugen eines Services auch eine Test-Datei angelegt.<\/p>\n\n\n\n
Fazit<\/h2>\n\n\n\n
Nest.js bedient sich im Gegensatz zu vielen anderen Node.js-Frameworks und Libraries moderner Paradigmen, mit denen sich Applikationen schnell und effizient umsetzen lassen. Die Verbreitung des Frameworks wächst stetig und mit ihr auch die Community, die sich um das Framework gebildet hat. Durch seine offene Plugin-Infrastruktur ermöglicht es Nest.js einem Entwickler Erweiterungen für das Kernframework zu schreiben und den Funktionsumfang so einfach zu erweitern.<\/p>\n\n\n\n
<\/div>\n\n\n\n
\n\n\n\n
<\/div>\n\n\n\n
Über den Autor<\/h3>\n\n\n\n\n
\n
<\/figure>\n\n\n\nKhaled Labidi <\/h4>\n\n\n\n
<\/p>\n<\/div>\n\n\n\n
<\/p>\n<\/div>\n<\/div>\n<\/div>