Taula de continguts[Amaga][Espectacle]
L'any 2021, JavaScript va ser el llenguatge de programació més utilitzat.
L'atractiu d'aquesta tecnologia és innegable, com es veu per la gran quantitat de frameworks que permeten programar JavaScript.
Hi ha Angular, React i Vue a la interfície, així com Express i Next a la part posterior, per esmentar-ne alguns.
Amb tants marcs meravellosos per a la programació de fons en JavaScript accessibles, potser estareu pensant per què cercaria alguna cosa diferent en lloc de simplement utilitzar Express o Next.
Potser necessiteu impulsar el procés de desenvolupament ràpidament amb un model decent i afegir manualment no només controladors nous, sinó també serveis us emmalalteix.
O voleu crear un programari gran i escalable que sigui fàcil de gestionar. O potser simplement voleu treballar d'una manera més eficient i còmoda.
Independentment del que sigui cert en la teva circumstància, Nest.js pot ser la solució perfecta per a les teves necessitats.
Aquesta publicació proporcionarà informació sobre NestJS, així com experiència pràctica.
Què és NestJS?
NestJS és un framework Node progressiu que és de codi obert, ampliable i adaptable .js marc per a la creació, la participació i el desafiament de sistemes de backend. Ara és el node amb la taxa de creixement més ràpida.
Framework TypeScript per a js. NestJS s'utilitza per crear aplicacions escalables, provables i poc connectades.
Afegeix escalabilitat a Node. Els servidors Js s'han portat a un nivell completament nou. PostgreSQL, MongoDB i MySQL es troben entre les bases de dades compatibles.
NestJS és extensible perquè es pot utilitzar amb altres biblioteques; flexible a causa del seu ecosistema adaptable de ple dret. I progressiu, ja que admet funcions de JavaScript i principis de disseny.
Està influenciat principalment per Angular, React i Vue i inclou una injecció de dependència integrada.
Característiques
- És senzill d'utilitzar, aprendre i dominar.
- És gratuït i de codi obert (llicència MIT)
- Potent interfície de línia d'ordres (CLI) per augmentar la productivitat i la simplicitat del desenvolupament
- Programes de prova d'unitat que són senzills d'utilitzar
- S'utilitza TypeScript, un llenguatge ben escrit que és un superconjunt de JavaScript.
- Desenvolupament i manteniment d'una base de codi activa.
- Suport per a centenars de mòduls específics de niu que faciliten la interfície amb tecnologies i idees populars com TypeORM, Mongoose, GraphQL, registre, validació, memòria cau, WebSockets i molt més.
Quins són els elements bàsics de NestJS?
A continuació s'enumeren els components de construcció de les aplicacions Nest; n'hi ha d'altres, però aquests tres són els més significatius. Mirem-los ràpidament.
1. Controladors
Els controladors són els encarregats de processar les sol·licituds entrants i respondre als clients. Rep sol·licituds HTTP particulars i el sistema d'encaminament determina quin controlador rep quina sol·licitud.
A continuació, redacta una resposta adequada per enviar. Amb l'ajuda de classes i decoradors, es construeix un col·leccionista senzill i cada controlador té el seu propi conjunt de rutes per fer diverses tasques.
2. Proveïdors
Els proveïdors són una idea clau a Nest. Moltes de les classes bàsiques de Nest (serveis, repositoris, fàbriques, ajudants, etc.) es poden gestionar com a proveïdors.
La noció bàsica d'un proveïdor és que es pot injectar com a dependència; això implica que els objectes poden formar diverses associacions entre si, i la funció de "cablejar" les instàncies dels objectes es pot subcontractar principalment al sistema d'execució Nest.
3. Mòduls
Un mòdul és una classe amb el decorador @Module() que organitza els components de l'estructura de l'aplicació. Cada aplicació té un mòdul arrel que s'utilitza per construir el gràfic de l'aplicació, que resol encara més les dependències i les interaccions entre el proveïdor i el mòdul.
Aquest decorador proporciona metadades a Nest.js per identificar quins components, controladors o altres recursos s'utilitzaran al codi de l'aplicació i combinar-los en un únic conjunt.
Cada mòdul té una col·lecció de capacitats que estan connectades d'alguna manera.
Com començar amb NestJS
1. instal·lació
Instal·lem NestJS i fem un projecte amb ell seguint aquests passos:
Com a resultat d'això, es crearà la següent estructura de directoris:
2. Controladors
Els blocs de construcció del Niu són controladors. Aquestes són les ubicacions on es gestionaran les sol·licituds entrants. Podeu especificar la ruta de la ruta mitjançant modificadors del mètode HTTP (Obtén, Publica, Posa, Suprimeix, etc.), tal com es veu al codi següent.
Nestjs utilitza l'enfocament del decorador i es desenvolupa principalment en Typescript, tot i que també admet JavaScript. També podeu utilitzar un validador de classes per validar el cos de la sol·licitud.
Només faré una instància de servidor Nestjs i afegiré ValidationPipe a nivell global. Les canonades són només mètodes que s'executen abans que els controladors. Les canonades també es poden aplicar a nivell de mètode/argument mitjançant el decorador @UsePipes.
3. Proveïdors
Els proveïdors són un altre component crític de Nestjs. De lluny, estava emmagatzemant dades en una variable temporal. És per això que es pot fer una tasca tan senzilla mitjançant els controladors del controlador.
Tanmateix, per a una lògica més gran i complicada, la separació i la reutilització del codi seria difícil. És quan entren els proveïdors. Podeu declarar/crear un proveïdor a sobre d'una classe mitjançant el decorador @Injectable. Aleshores, utilitzant proveïdors, podeu fer la injecció de dependències, el registre i altres tasques.
4. Mòduls
Els mòduls Nestjs no són globals; en canvi, tenen profunditat.
Tanmateix, també es pot compartir amb qualsevol altre mòdul. Tot i que, com Angular, ofereix mòduls globals, és més aconsellable mantenir els serveis/controladors al mòdul on s'utilitzen més habitualment a Nestjs.
La NestCLI s'utilitza per produir mòduls la major part del temps, i la CLI afegeix automàticament els proveïdors/controladors generats en el context d'aquest mòdul. Aquests es coneixen com a mòduls de funcions.
5. Filtres d'excepcions
Els filtres d'excepcions són gestors d'errors que s'invoquen quan un controlador llança una excepció. Gestiona automàticament el problema i envia un missatge d'error adequat i fàcil d'utilitzar.
El paquet @nestjs/common proporciona moltes excepcions heretades d'HttpException, com NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException i moltes altres. Fins i tot podeu dissenyar el vostre propi filtre d'excepcions.
6. Middleware
Una funció que s'invoca abans del gestor de rutes s'anomena middleware. Els objectes de sol·licitud i resposta, així com la funció de middleware next() del cicle de petició-resposta de l'aplicació, són accessibles per a les funcions de middleware.
Normalment s'utilitza una variable anomenada next per identificar la següent funció de middleware. El programari intermediari personalitzat de Nest es pot implementar en un mètode o una classe mitjançant el decorador @Injectable().
7. Guàrdies
Els guàrdies només són responsables d'una cosa. És la seva responsabilitat avaluar si el controlador processarà o no una sol·licitud en funció de circumstàncies específiques (específicament, lògica definida per l'usuari).
És útil per a l'autenticació/autorització i és el mètode recomanat a Nestjs.
Tot i que l'autenticació/permisos, etc., es poden fer mitjançant programari intermedi, no es fa en servidors express o en altres servidors HTTP, ja que no tenen un context fort relacionat i no tenen cap raó per saber quin mètode s'utilitzarà per processar la sol·licitud.
avantatges
- El marc depèn en gran mesura de les anotacions, que s'utilitzen per produir qualsevol cosa, des de punts finals fins a documentació de Swagger. Els punts finals són bàsics i ordenats, i les anotacions faciliten el desenvolupament en general.
- És senzill externalitzar mòduls de propòsit general i reutilitzar codi en molts projectes, ja que Nest.js és un marc basat en mòduls.
- L'estructura de carpetes de Nest.js està molt influenciada per Angular. Quan es dissenya un servei Nest, això permet un temps d'inactivitat mínim.
- Els components tenen els seus propis directoris, amb l'arrel que conté el mòdul de l'aplicació i el fitxer principal. A causa de la simplicitat de l'estructura, es pot prestar més atenció al disseny dels punts finals i als seus clients en lloc de l'estructura de l'aplicació.
- Nest, com Angular, ofereix una bona eina de línia d'ordres, Nestjs/cli, que està disponible a través del gestor de paquets Node.
Desavantatges
- Nest té un avantatge pel que fa a l'ús de TypeScript i la integració angular, però no té el suport financer d'una gran corporació.
- La manca de documentació suposa la major amenaça per als usuaris de Nest. Tot i que el marc té interaccions excel·lents amb altres marcs, la documentació és escassa i no aborda cap dificultat potencial.
- Nest té un avantatge pel que fa a l'ús de TypeScript i angular.
Conclusió
NestJS ofereix als desenvolupadors un gran avanç. Per començar el desenvolupament, tot el que heu de fer és crear una aplicació nova i ja estàs a punt. Aquest marc proporciona un impuls significatiu immediatament, alhora que us ajuda a fer etapes addicionals mitjançant l'establiment d'una arquitectura d'aplicació adequada.
Utilitza mètodes i tecnologia d'avantguarda per produir aplicacions que siguin manejables i de llarga durada. Es pot utilitzar per connectar-se a GraphQL, WebSockets i construir microserveis.
Deixa un comentari