AdonisJS | Laravel-ähnliches Framework für NodeJs

Feb 28 2023
AdonisJS ist ein voll funktionsfähiges Webframework für Node.js, das stark von Laravel, einem beliebten PHP-Webframework, beeinflusst ist.

AdonisJS ist ein voll funktionsfähiges Webframework für Node.js, das stark von Laravel, einem beliebten PHP-Webframework, beeinflusst ist. In dieser Zusammenfassung untersuchen wir die Ähnlichkeiten und Unterschiede zwischen AdonisJS und Laravel und stellen Beispiele für AdonisJS-Funktionen bereit, die den Laravel-Funktionen entsprechen.

Ähnlichkeiten:

  1. MVC-Architektur: Sowohl AdonisJS als auch Laravel verwenden das Model-View-Controller (MVC)-Architekturmuster zur Strukturierung von Webanwendungen.
  2. Befehlszeilenschnittstelle (CLI): Sowohl AdonisJS als auch Laravel bieten eine Befehlszeilenschnittstelle (CLI) zum Generieren von Boilerplate-Code, zum Ausführen von Datenbankmigrationen und für andere Aufgaben.
  3. Routing: Beide Frameworks verwenden Routing, um zu definieren, wie HTTP-Anfragen behandelt werden.
  4. Middleware: AdonisJS und Laravel verwenden beide Middleware, um Aufgaben wie Authentifizierung, Anforderungsvalidierung und Protokollierung zu erledigen.
  5. ORM: Sowohl AdonisJS als auch Laravel bieten ein ORM (Object-Relational Mapping) für die Arbeit mit Datenbanken.
  6. Blade-ähnliche Vorlagen: AdonisJS verfügt über eine eigene Template-Engine namens Edge, die eine ähnliche Syntax wie Laravel's Blade bietet.
  7. Community: Sowohl AdonisJS als auch Laravel verfügen über aktive Entwickler-Communitys, die zur Entwicklung des Frameworks beitragen, Pakete erstellen und Support leisten.
  1. Sprache: AdonisJS basiert auf Node.js, während Laravel auf PHP basiert.
  2. Asynchron: AdonisJS ist asynchron konzipiert und verwendet Promises, während Laravel synchron ist und Ausnahmen verwendet.
  3. Dateistruktur: AdonisJS hat eine andere Dateistruktur als Laravel, mit Verzeichnissen wie app/Controllersund app/Modelsanstelle von app/Http/Controllersund app/Modelsin Laravel.
  4. Konfiguration: AdonisJS verwendet .envDateien zur Konfiguration, während Laravel .envsowohl Dateien als auch configDateien verwendet.
  5. Middleware-Reihenfolge: AdonisJS wendet Middleware in der Reihenfolge an, in der sie in der Routendatei definiert sind, während Laravel Middleware in der Reihenfolge anwendet, in der sie in der Kernel-Datei definiert sind.

Hier ist ein Beispiel dafür, wie sich AdonisJS und Laravel in ihrem Routing-Ansatz unterscheiden:

In AdonisJS können Sie Routen mithilfe einer Fluent-API definieren:

AdonisJs Routing

In Laravel:

Laravel-Routing

Hier ist ein Beispiel für die Erstellung eines Modells und die Migration in AdonisJS:

Dieser Befehl generiert eine neue Modelldatei in app/Models mit dem Namen „Post.js“ und eine Migrationsdatei in „database/migrations“ mit dem Namen etwa 1612989050522_create_posts_table.js.

Erstellen Sie einen Modellbefehl in AdonisJs

Öffnen Sie nun die Migrationsdatei und definieren Sie das Schema für die postsTabelle:

postsDurch diese Migration wird eine Tabelle mit den Zeitstempeln id, title, bodyund created_atund erstellt updated_at.

AdnoisJs Migrationsbeispiel

Öffnen Sie nun die Modelldatei und definieren Sie das Schema für das PostModell:

AdonisJs-Modellbeispiel

Das ist es! Sie können das Modell jetzt verwenden Post, um mit der postsTabelle in Ihrer Datenbank zu interagieren. Um beispielsweise einen neuen Beitrag zu erstellen, können Sie Folgendes tun:

Interagiere mit Model AdonisJs

Hier ist ein Beispiel eines einfachen AdonisJS-Controllers für das Postzuvor erstellte Modell:

Controller-Beispiel in AdonisJs

Dieser Controller definiert mehrere Methoden zur Handhabung von CRUD-Operationen am PostModell.

Die index()Methode ruft alle Beiträge aus der Datenbank ab und gibt sie als Array zurück.

Die store()Methode erstellt einen neuen Beitrag, indem sie das titleund bodyaus dem Anforderungsobjekt extrahiert, eine neue PostInstanz erstellt, ihre Felder festlegt und sie in der Datenbank speichert. Anschließend wird der neu erstellte Beitrag zurückgegeben.

Die show()Methode ruft einen einzelnen Beitrag anhand seines idParameters ab und gibt ihn zurück.

Die update()Methode aktualisiert einen Beitrag anhand seines idParameters, extrahiert das titleund bodyaus dem Anforderungsobjekt, aktualisiert die Felder des Beitrags und speichert ihn in der Datenbank. Anschließend wird der aktualisierte Beitrag zurückgegeben.

Die destroy()Methode löscht einen Beitrag anhand seines idParameters und gibt ihn zurück.

Diese Methoden nutzen die integrierte Middleware und Anforderungs-/Antwortobjekte von AdonisJS, um eingehende Anforderungen und ausgehende Antworten zu verarbeiten. Beachten Sie, dass dies nur ein einfaches Beispiel ist und in AdonisJS viele weitere Funktionen und Techniken zum Erstellen robuster Controller verfügbar sind.

AdonisJS bietet Entwicklern mit seiner Laravel-ähnlichen Syntax und Konventionen eine vertraute und intuitive Erfahrung beim Erstellen von Full-Stack-Webanwendungen in JavaScript. Die MVC-Architektur, leistungsstarke ORM-, Middleware-, Routing-, Authentifizierungs- und View-Rendering-Funktionen des Frameworks machen es zu einer robusten und effizienten Wahl für Entwickler, die moderne Webanwendungen in Node.js erstellen möchten.