AdonisJS | Framework podobny do Laravela dla NodeJs

Feb 28 2023
AdonisJS to w pełni funkcjonalny framework webowy dla Node.js, na który duży wpływ ma Laravel, popularny framework webowy PHP.

AdonisJS to w pełni funkcjonalny framework webowy dla Node.js, na który duży wpływ ma Laravel, popularny framework webowy PHP. W tym podsumowaniu zbadamy podobieństwa i różnice między AdonisJS i Laravel oraz przedstawimy przykłady funkcji AdonisJS, które odpowiadają funkcjom Laravel.

podobieństwa:

  1. Architektura MVC: Zarówno AdonisJS, jak i Laravel używają wzorca architektury Model-View-Controller (MVC) do strukturyzowania aplikacji internetowych.
  2. Interfejs wiersza poleceń (CLI): Zarówno AdonisJS, jak i Laravel zapewniają interfejs wiersza poleceń (CLI) do generowania kodu podstawowego, uruchamiania migracji baz danych i innych zadań.
  3. Routing: Obie platformy używają routingu do definiowania sposobu obsługi żądań HTTP.
  4. Oprogramowanie pośrednie: AdonisJS i Laravel używają oprogramowania pośredniego do obsługi zadań, takich jak uwierzytelnianie, sprawdzanie poprawności żądań i rejestrowanie.
  5. ORM: Zarówno AdonisJS, jak i Laravel zapewniają ORM (Object-Relational Mapping) do pracy z bazami danych.
  6. Szablony przypominające ostrza: AdonisJS jest wyposażony we własny silnik szablonów o nazwie Edge, który zapewnia składnię podobną do Blade'a Laravela.
  7. Społeczność: Zarówno AdonisJS, jak i Laravel mają aktywne społeczności programistów, którzy przyczyniają się do rozwoju frameworka, tworzą pakiety i zapewniają wsparcie.
  1. Język: AdonisJS jest zbudowany na Node.js, podczas gdy Laravel jest zbudowany na PHP.
  2. Async: AdonisJS został zaprojektowany jako asynchroniczny i używa obietnic, podczas gdy Laravel jest synchroniczny i używa wyjątków.
  3. Struktura plików: AdonisJS ma inną strukturę plików niż Laravel, z katalogami takimi jak app/Controllersi app/Modelszamiast app/Http/Controllersi app/Modelsw Laravel.
  4. Konfiguracja: AdonisJS używa .envplików do konfiguracji, podczas gdy Laravel używa .envzarówno plików, jak i configplików.
  5. Porządkowanie oprogramowania pośredniego: AdonisJS stosuje oprogramowanie pośrednie w kolejności, w jakiej są zdefiniowane w pliku trasy, podczas gdy Laravel stosuje oprogramowanie pośrednie w kolejności, w jakiej są zdefiniowane w pliku jądra.

Oto przykład tego, jak AdonisJS i Laravel różnią się podejściem do routingu:

W AdonisJS możesz definiować trasy za pomocą płynnego API:

Routing AdonisJs

W Laravelu:

Routing Laravela

Oto przykład tworzenia modelu i migracji w AdonisJS:

To polecenie wygeneruje nowy plik modelu w app/Models o nazwie Post.js i plik migracji w database/migrations o nazwie coś w rodzaju 1612989050522_create_posts_table.js.

Utwórz polecenie modelu w AdonisJs

Teraz otwórz plik migracji i zdefiniuj schemat tabeli posts:

Ta migracja spowoduje utworzenie poststabeli z sygnaturami czasowymi id, , i i .titlebodycreated_atupdated_at

Przykład migracji AdnoisJs

Teraz otwórz plik modelu i zdefiniuj schemat dla Postmodelu:

Przykład modelu AdonisJs

Otóż ​​to! Możesz teraz używać Postmodelu do interakcji z poststabelą w bazie danych. Na przykład, aby utworzyć nowy post, możesz wykonać następujące czynności:

Wejdź w interakcję z modelem AdonisJs

Oto przykład podstawowego kontrolera AdonisJS dla Postmodelu, który stworzyliśmy wcześniej:

Przykład kontrolera w AdonisJs

Ten kontroler definiuje kilka metod obsługi operacji CRUD na Postmodelu.

Metoda index()pobiera wszystkie posty z bazy danych i zwraca je jako tablicę.

Metoda store()tworzy nowy post poprzez wyodrębnienie titlei bodyz obiektu żądania, utworzenie nowej Postinstancji, ustawienie jej pól i zapisanie jej w bazie danych. Następnie zwraca nowo utworzony post.

Metoda show()pobiera pojedynczy post według jego idparametru i zwraca go.

Metoda update()aktualizuje post według jego idparametru, wyodrębniając titlei bodyz obiektu żądania, aktualizując pola postu i zapisując go w bazie danych. Następnie zwraca zaktualizowany post.

Metoda destroy()usuwa post według jego idparametru i zwraca go.

Metody te wykorzystują wbudowane oprogramowanie pośredniczące AdonisJS oraz obiekty żądania/odpowiedzi do obsługi przychodzących żądań i wychodzących odpowiedzi. Należy zauważyć, że jest to tylko podstawowy przykład, a w AdonisJS dostępnych jest o wiele więcej funkcji i technik budowania niezawodnych kontrolerów.

AdonisJS, ze składnią i konwencjami podobnymi do Laravela, zapewnia programistom znane i intuicyjne środowisko podczas tworzenia pełnych aplikacji internetowych w JavaScript. Architektura MVC platformy, potężny ORM, oprogramowanie pośredniczące, routing, uwierzytelnianie i możliwości renderowania widoków sprawiają, że jest to solidny i wydajny wybór dla programistów, którzy chcą tworzyć nowoczesne aplikacje internetowe w Node.js.