Muna 2021, JavaScript ndiyo yaive yakanyanya kushandiswa mutauro wehurongwa.
Kukwezva kweiyi tekinoroji hakurambike, sezvinoonekwa nehuwandu hukuru hwemafuremu anogonesa JavaScript programming.
Kune Angular, React, uye Vue kumberi, pamwe ne Express uye Inotevera pane yekumashure, kutaura zvishoma.
Nemafuremu akawanda anoshamisa ekugadzirisa hurongwa muJavaScript inowanikwa, unogona kunge uchifunga kuti sei ndaizotsvaga chimwe chinhu chakasiyana pane kungoshandisa Express kana Inotevera.
Pamwe iwe unofanirwa kusvetuka danho rekusimudzira nekukurumidza neine yakanaka boilerplate, uye nemaoko kuwedzera kwete chete ma controller matsva asiwo masevhisi anorwarisa.
Kana kuti iwe unoda kugadzira hombe, scalable software iri nyore kubata. Kana kuti zvimwe unongoda kushanda nenzira inobudirira uye iri nyore.
Zvisinei kuti ndechipi chiri chokwadi mumamiriro ako ezvinhu, Nest.js inogona kuva mhinduro yakakwana kune zvaunoda.
Iyi posvo inopa ruzivo rweNestJS pamwe neruzivo rwemaoko.
Chii chinonzi NestJS?
NestJS ndiyo inofambira mberi Node framework iyo yakavhurika-sosi, inokwidziridzwa, uye inochinjika .Js chimiro chekuvaka, kuita uye kunetsa backend masisitimu. Ikozvino ndiyo Node ine kukurumidza kukurumidza kukura.
TypeScript framework yejs. NestJS inoshandiswa kugadzira maapplication anogona scalable, testable, and loosely connected.
Iyo inowedzera scalability kuNode. Js maseva akaendeswa kune imwe nhanho nyowani. PostgreSQL, MongoDB, uye MySQL zviri pakati pemadhatabhesi anotsigirwa.
NestJS inogona kuwedzerwa nekuti inogona kushandiswa nemamwe maraibhurari; inochinjika nekuda kwekuchinjika kwayo kwakazara-ecosystem. Uye inofambira mberi sezvo inotsigira JavaScript maitiro uye misimboti yekugadzira.
Iyo inonyanya kupesvedzerwa neAngular, React, uye Vue uye inouya neyakavakirwa-mukati yekutsamira jekiseni.
Features
- Zviri nyore kushandisa, kudzidza, uye tenzi.
- Zviri mahara uye pachena-mabviro (MIT rezinesi)
- Yakasimba Command Line Interface (CLI) yekuwedzera kugadzirwa uye budiriro iri nyore
- Unit-yekuedza zvirongwa zviri nyore kushandisa
- TypeScript, mutauro wakanyorwa zvakasimba uyo uri superset yeJavaScript, unoshandiswa.
- Kuvandudza uye kugadzirisa kweiyo inoshanda codebase.
- Tsigiro yemazana emadendere-chaiwo mamodule anoita kuti zvive nyore kusanganisa neanozivikanwa matekinoroji uye mazano seTypeORM, Mongoose, GraphQL, kutema miti, kusimbiswa, caching, WebSockets, nezvimwe.
Ndezvipi zvinovaka zveNestJS?
Zvivakwa zveNest application zvakanyorwa pazasi; vamwe variko, asi vatatu ava ndivo vanonyanya kukosha. Ngativatarisei nekukurumidza.
1. Vadzori
Vatongi ndivo vane basa rekugadzirisa zvikumbiro zvinouya uye kupindura kune vatengi. Iyo inogamuchira zvikumbiro zveHTTP, uye iyo routing system inosarudza kuti ndeupi controller anowana chikumbiro chipi.
Inobva yanyora mhinduro yakakodzera kutumira. Nerubatsiro rwemakirasi uye vanoshongedza, muunganidzi ari nyore anovakwa uye mutongi wega wega ane yake yega nzira dzekuita mabasa akasiyana.
2. Vanopa
Vabatsiri ipfungwa yakakosha muNest. Mazhinji emakirasi eNest epakati - masevhisi, matura, mafekitori, vabatsiri, zvichingodaro - anogona kubatwa sevanopa.
Mafungiro ekutanga emupi ndeokuti anogona kubaiwa seanotsamira; Izvi zvinoreva kuti zvinhu zvinokwanisa kuumba mubatanidzwa wakasiyana-siyana, uye basa re "kubatanidza" zviitiko zvezvinhu rinogona kuisirwa kunze kune Nest runtime system.
3. Ma module
A module ikirasi ine @Module () decorator inoronga zvikamu zvechimiro cheapp. Yega yega application ine midzi module iyo inoshandiswa kugadzira iyo application graph, iyo inowedzera kugadzirisa kutsamira uye kudyidzana pakati peanopa uye module.
Mugadziri uyu anopa metadata kuNest.js kuitira kuona kuti ndezvipi zvikamu, zvidzori, kana zvimwe zviwanikwa zvichashandiswa mukodhi yekushandisa uye kuzvibatanidza kuita seti imwe chete.
Imwe neimwe module ine muunganidzwa wekugona kwakabatana neimwe nzira.
Kutanga neNestJS
1. kugadzwa
Ngatiisei NestJS uye tiite purojekiti nayo nekutevera matanho aya:
Iyo inotevera dhairekitori chimiro ichagadzirwa nekuda kweizvi:
2. Vadzori
Mabhuroko ekuvaka eNest ndiwo anotonga. Idzi ndidzo nzvimbo dzichaitwa zvikumbiro zvemukati. Iwe unogona kutsanangura nzira yenzira uchishandisa HTTP nzira modifiers (Tora, Tumira, Isa, Delete, uye zvichingodaro) vagadziri, sezvinoonekwa mukodhi iri pazasi.
Nestjs inoshandisa nzira yekushongedza uye inogadzirwa zvakanyanya muTypescript, kunyangwe ichitsigirawo JavaScript. Iwe unogona zvakare kushandisa kirasi validator kusimbisa iyo yekukumbira muviri.
Ndiri kuzogadzira sevha yeNestjs uye kuwedzera ValidationPipe pasi rose. Mapombi ingori nzira dzinoita pamberi peVatongi. Mapaipi anogona zvakare kuiswa padanho/nharo nhanho uchishandisa @UsePipes decorator.
3. Vanopa
Vanopa rubatsiro chimwe chikamu chakakosha cheNestjs. Kusvika kure, ini ndanga ndichichengeta data mune yechinguva chinja. Ndokusaka basa rakareruka rakadaro rinogona kuitwa uchishandisa Controller vanobata.
Nekudaro, kune yakakura, yakanyanya kuomarara logic, kupatsanurwa kwekodhi uye kushandisazve zvingave zvakaoma. Apa ndipo panouya vatengesi. Unogona kuzivisa/kugadzira mutengesi pamusoro pekirasi uchishandisa @Injectable decorator. Zvadaro, uchishandisa vanopa, unogona kuita jekiseni rekutsamira, kutema miti, uye mamwe mabasa.
4. Ma module
Nestjs modules haisi yepasi rose; pachinzvimbo, vane udzamu.
Nekudaro, inogona kugoverwa nemamwe ma module zvakare. Kunyangwe iyo, seAngular, ichipa Global Modules, zvinokurudzirwa kuchengeta Masevhisi/Vatongi mumodule maanonyanya kushandiswa muNestjs.
Iyo NestCLI inoshandiswa kugadzira mamodule nguva zhinji, uye vapepi/ma controller anogadzirwa mumamiriro eiyo module anongowedzerwa neCLI. Aya anozivikanwa semaficha modules.
5. Kunze Masefa
Exception mafirita zvibatiso zvekukanganisa zvinokumbirwa kana Controller ikasa siyana. Iyo inogadzirisa otomatiki nyaya uye inopa yakakodzera, mushandisi-ane hushamwari kukanganisa meseji.
Yakawanda HttpException yakagarwa nhaka Exceptions inopihwa nepakeji @nestjs/common, kusanganisira NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, nevamwe vakawanda. Iwe unogona kunyange kugadzira yako ExceptionFilter.
6. Pakati
Basa rinoshevedzwa pamberi pemubati wenzira rinonzi middleware. Zvikumbiro uye zvinhu zvekupindura, pamwe neinotevera () middleware basa mune chikumbiro-mhinduro kutenderera kutenderera, zvinosvikika kune middleware mabasa.
Musiyano unonzi unotevera unowanzo shandiswa kuona inotevera yepakati basa. Custom Nest middleware inogona kushandiswa nenzira kana kirasi uchishandisa @Injectable() decorator.
7. Varindi
Varindi vane mutoro wechinhu chimwe chete. Ibasa ravo kuongorora kuti chikumbiro chichagadziriswa here kana kuti kwete nemutongi zvichienderana nemamiriro ezvinhu chaiwo (Kunyanya, mushandisi-inotsanangurwa logic).
Inobatsira pakutendesa/kupa mvumo uye ndiyo nzira inokurudzirwa muNestjs.
Kunyangwe chokwadi/mvumo, nezvimwewo, zvichigona kuitwa uchishandisa middleware, hazviitwe mukutaura kana mamwe maseva eHTTP sezvo vasina hukama hwakasimba uye vasina chikonzero chekuziva kuti ndeipi nzira ichashandiswa kugadzirisa chikumbiro.
Advantages
- Iyo dhizaini inotsamira zvakanyanya pane zvirevo, izvo zvinoshandiswa kugadzira chero chinhu kubva kumagumo kuenda kuSwagger zvinyorwa. Mamigumo acho akakosha uye akatsvinda, uye zvirevo zvinoita kuti budiriro ive nyore mune zvese.
- Zviri nyore kuburitsa mamodule-chinangwa uye kushandisazve kodhi mumapurojekiti mazhinji sezvo Nest.js iri module-yakavakirwa chimiro.
- Nest.js' dhairekitori chimiro chakafurirwa zvakanyanya neAngular. Paunenge uchigadzira sevhisi yeNest, izvi zvinobvumira kuderera kushoma.
- Zvikamu zvine madhairekitori avo, ane mudzi une application module uye main file. Nekuda kwekureruka kwechimiro, kutarisisa kwakawanda kunogona kuiswa kune dhizaini yemagumo uye vatengi vavo pane chimiro chekushandisa.
- Nest, seAngular, inopa yakanaka yekuraira-mutsara chishandiso, Nestjs/cli, inowanikwa kuburikidza neNode Package Maneja.
payakaipira
- Nest ine mukana maererano nekushandiswa kweTypeScript uye Angular kubatanidzwa, asi inoshaya rutsigiro rwemari rwekambani hombe.
- Kushaikwa kwezvinyorwa kunoisa njodzi huru kune vashandisi veNest. Kunyangwe iyo dhizaini iine kudyidzana kwakanaka nemamwe masisitimu, zvinyorwa zvacho zvishoma uye hazvigadzirise chero matambudziko angangoitika.
- Nest ine mukana maererano neTypeScript yekushandisa uye Angular.
mhedziso
NestJS inopa vanogadzira gumbo rakakura kumusoro. Kuti utange kuvandudza, zvese zvaunoda kuti uite gadzira app itsva uye wagona kuenda. Iyi dhizaini inopa kusimudzira kwakakosha ipapo, uku ichikubatsira iwe kutora mamwe matanho nekugadzira yakakodzera app yekuvaka.
Inoshandisa nzira dzekucheka-kumucheto uye tekinoroji kugadzira maapplication anogoneka uye anogara kwenguva refu. Inogona kushandiswa kubatanidza kuGraphQL, WebSockets, uye kuvaka microservices.
Leave a Reply