Leta 2021 je bil JavaScript najbolj razširjen programski jezik.
Privlačnost te tehnologije je nesporna, kot je razvidno iz velikega števila okvirjev, ki omogočajo programiranje JavaScript.
Na sprednji strani so Angular, React in Vue, v ozadju pa tudi Express in Next, če jih omenim le nekaj.
Ker je na voljo toliko čudovitih ogrodij za zaledno programiranje v JavaScriptu, morda razmišljate, zakaj bi iskal nekaj drugega, namesto da bi preprosto uporabljal Express ali Next.
Morda boste morali hitro zagnati razvojni proces s spodobno shemo, zaradi ročnega dodajanja novih krmilnikov pa tudi storitev postane slabo.
Ali pa želite ustvariti veliko, razširljivo programsko opremo, ki jo je enostavno upravljati. Ali pa morda preprosto želite delati na bolj učinkovit in priročen način.
Nest.js je lahko popolna rešitev za vaše potrebe, ne glede na to, kaj velja v vaših okoliščinah.
Ta objava bo zagotovila vpogled v NestJS in praktične izkušnje.
Kaj je NestJS?
NestJS je progresivni okvir Node, ki je odprtokoden, razširljiv in prilagodljiv .Js okvir za gradnjo, vključevanje in zahtevne zaledne sisteme. Zdaj je to vozlišče z najhitrejšo stopnjo rasti.
Ogrodje TypeScript za js. NestJS se uporablja za ustvarjanje aplikacij, ki so razširljive, preizkuljive in ohlapno povezane.
Nodeju doda razširljivost. Strežniki Js so bili dvignjeni na povsem novo raven. Med podprtimi bazami podatkov so PostgreSQL, MongoDB in MySQL.
NestJS je razširljiv, ker se lahko uporablja z drugimi knjižnicami; prilagodljiv zaradi svojega prilagodljivega polnopravnega ekosistema. In progresiven, saj podpira funkcije JavaScript in načela oblikovanja.
Nanj vplivajo predvsem Angular, React in Vue in ima vgrajeno injekcijo odvisnosti.
Lastnosti
- Je enostaven za uporabo, učenje in obvladovanje.
- Je brezplačno in open-source (licenca MIT)
- Zmogljiv vmesnik ukazne vrstice (CLI) za večjo produktivnost in enostavnost razvoja
- Programi za testiranje enot, ki so enostavni za uporabo
- Uporablja se TypeScript, tesno tipkani jezik, ki je nadnabor JavaScripta.
- Razvoj in vzdrževanje aktivne kodne baze.
- Podpora za stotine modulov, specifičnih za gnezdo, ki omogočajo preprosto povezovanje s priljubljenimi tehnologijami in idejami, kot so TypeORM, Mongoose, GraphQL, beleženje, preverjanje, predpomnjenje, WebSockets in drugo.
Kateri so gradniki NestJS?
Sestavne dele aplikacij Nest so navedene spodaj; obstajajo še drugi, vendar so ti trije najpomembnejši. Oglejmo si jih na hitro.
1. Krmilniki
Upravljavci so zadolženi za obdelavo dohodnih zahtev in odgovarjanje na stranke. Prejema določene zahteve HTTP, usmerjevalni sistem pa določi, kateri krmilnik dobi katero zahtevo.
Nato pripravi ustrezen odgovor, ki ga pošlje. S pomočjo razredov in dekoraterjev je zgrajen preprost zbiralnik in vsak krmilnik ima svoj nabor poti za opravljanje različnih nalog.
2. Ponudniki
Ponudniki so ključna ideja v Nestu. Številne temeljne razrede Nest – storitve, skladišča, tovarne, pomočnike itd. – je mogoče obravnavati kot ponudnike.
Osnovni pojem ponudnika je, da ga je mogoče vnesti kot odvisnost; to pomeni, da lahko objekti med seboj tvorijo različne asociacije, vlogo "povezovanja" primerkov objektov pa je mogoče večinoma oddati izvajalnemu sistemu Nest.
3. Moduli
Modul je razred z dekoratorjem @Module(), ki organizira komponente strukture aplikacije. Vsaka aplikacija ima korenski modul, ki se uporablja za sestavo grafa aplikacije, ki nadalje razrešuje odvisnosti in interakcije med ponudnikom in modulom.
Ta dekorater daje metapodatke Nest.js, da bi ugotovil, katere komponente, krmilniki ali drugi viri bodo uporabljeni v kodi aplikacije, in jih združil v en sam niz.
Vsak modul ima zbirko zmogljivosti, ki so na nek način povezane.
Začetek uporabe NestJS
1. namestitev
Namestimo NestJS in naredimo projekt z njim, tako da sledimo tem korakom:
Kot rezultat tega bo ustvarjena naslednja struktura imenika:
2. Krmilniki
Gradniki Nesta so krmilniki. To so lokacije, kjer se bodo obravnavale vhodne zahteve. Pot poti lahko podate z uporabo modifikatorjev metode HTTP (Get, Post, Put, Delete in tako naprej), kot je prikazano v spodnji kodi.
Nestjs uporablja pristop dekoraterja in je večinoma razvit v Typescript, čeprav podpira tudi JavaScript. Za preverjanje telesa zahteve lahko uporabite tudi validator razreda.
Naredil bom samo primerek strežnika Nestjs in globalno dodal ValidationPipe. Cevi so samo metode, ki se izvajajo pred krmilniki. Cevi lahko uporabite tudi na ravni metode/argumenta z dekoratorjem @UsePipes.
3. Ponudniki
Ponudniki so še ena kritična komponenta Nestjs. Daleč sem shranjeval podatke v začasno spremenljivko. Zato je tako preprosto nalogo mogoče izvesti z uporabo krmilnikov Controller.
Vendar pa bi bila za večjo, bolj zapleteno logiko ločevanje in ponovna uporaba kode težavna. Takrat pridejo dobavitelji. Ponudnika lahko razglasite/ustvarite na vrhu razreda z uporabo dekoratorja @Injectable. Nato lahko s ponudniki izvajate vbrizgavanje odvisnosti, beleženje in druga opravila.
4. Moduli
Moduli Nestjs niso globalni; namesto tega imajo globino.
Lahko pa ga delite tudi s katerim koli drugim modulom. Čeprav, tako kot Angular, ponuja globalne module, je bolj priporočljivo, da storitve/krmilnike obdržite v modulu, kjer se najpogosteje uporabljajo v Nestjs.
NestCLI se večino časa uporablja za izdelavo modulov, ponudnike/krmilnike, ustvarjene v kontekstu tega modula, pa samodejno doda CLI. Ti so znani kot moduli funkcij.
5. Filtri izjem
Filtri izjem so obdelovalci napak, ki se pokličejo, ko krmilnik vrže izjemo. Samodejno upravlja težavo in pošlje ustrezno, uporabniku prijazno sporočilo o napaki.
Številne podedovane izjeme HttpException zagotavlja paket @nestjs/common, vključno z NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException in številnimi drugimi. Lahko celo oblikujete svoj lasten ExceptionFilter.
6. Vmesna programska oprema
Funkcija, ki se pokliče pred upravljalnikom poti, se imenuje vmesna programska oprema. Objekta zahteve in odgovora ter funkcija vmesne programske opreme next() v ciklu zahteve in odziva aplikacije sta dostopna funkcijam vmesne programske opreme.
Spremenljivka, imenovana next, se običajno uporablja za identifikacijo naslednje funkcije vmesne programske opreme. Vmesno programsko opremo Nest po meri lahko implementirate v metodo ali razred z uporabo dekoratorja @Injectable().
7. Stražarji
Stražarji so odgovorni samo za eno stvar. Njihova odgovornost je oceniti, ali bo upravljavec obdelal zahtevo na podlagi posebnih okoliščin (natančneje, uporabniško definirane logike).
Koristno je za preverjanje pristnosti/avtorizacijo in je priporočena metoda v Nestjs.
Čeprav je preverjanje pristnosti/dovoljenja itd. mogoče izvesti s pomočjo vmesne programske opreme, se to ne izvaja v ekspresnih ali drugih strežnikih HTTP, ker nimajo povezanega močnega konteksta in nimajo razloga, da bi vedeli, katera metoda bo uporabljena za obdelavo zahteve.
prednosti
- Okvir je močno odvisen od pripisov, ki se uporabljajo za izdelavo česar koli, od končnih točk do dokumentacije Swagger. Končne točke so osnovne in urejene, pripisi pa na splošno olajšajo razvoj.
- V mnogih projektih je preprosto eksternalizirati module splošnega namena in ponovno uporabiti kodo, saj je Nest.js okvir, ki temelji na modulih.
- Angular močno vpliva na strukturo map Nest.js. Pri načrtovanju storitve Nest to omogoča minimalne izpade.
- Komponente imajo svoje imenike, pri čemer koren vsebuje modul aplikacije in glavno datoteko. Zaradi preprostosti strukture je mogoče več pozornosti nameniti oblikovanju končnih točk in njihovih strank, ne pa strukturi aplikacije.
- Nest, tako kot Angular, ponuja lepo orodje ukazne vrstice, Nestjs/cli, ki je na voljo prek Node Package Manager.
Slabosti
- Nest ima prednost glede uporabe TypeScript in Angular integracije, vendar mu manjka finančna podpora velike korporacije.
- Pomanjkanje dokumentacije predstavlja največjo grožnjo uporabnikom Nesta. Čeprav ima okvir odlično interakcijo z drugimi okvirji, je dokumentacija redka in ne obravnava morebitnih težav.
- Nest ima prednost glede uporabe TypeScript in Angularja.
zaključek
NestJS razvijalcem zagotavlja veliko vzpon. Za začetek razvoja je vse, kar morate storiti, je ustvarite novo aplikacijo in že ste pripravljeni. Ta okvir zagotavlja takojšnjo znatno spodbudo, hkrati pa vam pomaga pri prehodu na dodatne stopnje z vzpostavitvijo ustrezne arhitekture aplikacije.
Uporablja najsodobnejše metode in tehnologijo za izdelavo aplikacij, ki so obvladljive in dolgotrajne. Uporablja se lahko za povezovanje z GraphQL, WebSockets in konstruiranje mikrostoritev.
Pustite Odgovori