Árið 2021 var JavaScript mest notaða forritunarmálið.
Aðdráttarafl þessarar tækni er óumdeilt, eins og sést af miklum fjölda ramma sem gera JavaScript forritun kleift.
Það eru Angular, React og Vue á framendanum, svo og Express og Next á bakendanum, svo eitthvað sé nefnt.
Með svo marga frábæra ramma fyrir bakendaforritun í JavaScript aðgengileg, gætirðu verið að hugsa hvers vegna ég myndi leita að einhverju öðru frekar en einfaldlega að nota Express eða Next.
Kannski þarftu að koma þróunarferlinu fljótt af stað með viðeigandi ketilplötu og að bæta við handvirkt ekki aðeins nýjum stýribúnaði heldur einnig þjónustu gerir þig veikan.
Eða þú vilt búa til stóran, skalanlegan hugbúnað sem er einfaldur í umsjón. Eða kannski viltu einfaldlega vinna á skilvirkari og þægilegri hátt.
Burtséð frá því hvað er satt í þínum aðstæðum, Nest.js getur verið fullkomin lausn fyrir þarfir þínar.
Þessi færsla mun veita NestJS innsýn sem og praktíska reynslu.
Hvað er NestJS?
NestJS er framsækið Node ramma sem er opinn uppspretta, stækkanlegur og aðlögunarhæfur .Js ramma fyrir uppbyggingu, grípandi og ögrandi bakendakerfi. Það er nú hnúturinn með hraðasta vaxtarhraðann.
TypeScript ramma fyrir js. NestJS er notað til að búa til forrit sem eru stigstærð, prófanleg og lauslega tengd.
Það bætir sveigjanleika við Node. Js netþjónar hafa verið færðir á nýtt stig. PostgreSQL, MongoDB og MySQL eru meðal gagnagrunna sem studdir eru.
NestJS er stækkanlegt vegna þess að það er hægt að nota það með öðrum bókasöfnum; sveigjanlegt vegna aðlögunarhæfs fullkomins vistkerfis. Og framsækið þar sem það styður JavaScript eiginleika og hönnunarreglur.
Það er fyrst og fremst undir áhrifum frá Angular, React og Vue og kemur með innbyggðri ósjálfstæðisprautu.
Aðstaða
- Það er einfalt að nota, læra og læra.
- Það er ókeypis og opinn-uppspretta (MIT leyfi)
- Öflugt stjórnlínuviðmót (CLI) fyrir aukna framleiðni og einfalda þróun
- Einingaprófunarforrit sem eru einföld í notkun
- TypeScript, þétt vélritað tungumál sem er ofursett af JavaScript, er notað.
- Þróun og viðhald á virkum kóðagrunni.
- Stuðningur við hundruðir hreiðursértækra eininga sem gera það einfalt að tengja við vinsæla tækni og hugmyndir eins og TypeORM, Mongoose, GraphQL, skógarhögg, staðfestingu, skyndiminni, WebSockets og fleira.
Hverjar eru byggingareiningar NestJS?
Byggingarhlutir Nest forrita eru taldir upp hér að neðan; það eru aðrir, en þessir þrír eru mikilvægastir. Við skulum skoða þau fljótt.
1. Stjórnendur
Stjórnendur sjá um að vinna úr beiðnum sem berast og svara viðskiptavinum. Það fær sérstakar HTTP beiðnir og leiðarkerfið ákvarðar hvaða stjórnandi fær hvaða beiðni.
Hún leggur síðan drög að svari við hæfi til að senda út. Með hjálp námskeiða og skreytinga er einfaldur safnari byggður og hver stjórnandi hefur sitt eigið sett af leiðum til að sinna ýmsum verkefnum.
2. Veitendur
Veitendur eru lykilhugmynd í Nest. Marga af grunnflokkum Nest - þjónustu, geymslur, verksmiðjur, aðstoðarmenn og svo framvegis - er hægt að meðhöndla sem veitendur.
Grundvallarhugmynd þjónustuveitanda er að hægt sé að sprauta henni sem ávanabindingu; þetta felur í sér að hlutir geta myndað ýmis tengsl sín á milli og það hlutverk að „tengja upp“ tilvik hluta er aðallega hægt að útvista til Nest keyrslutímakerfisins.
3. Einingar
Eining er flokkur með @Module() skreytandanum sem skipuleggur íhlutina í uppbyggingu forritsins. Hvert forrit er með rótareiningu sem er notuð til að smíða forritagrafið, sem leysir enn frekar úr ósjálfstæði og víxlverkun milli veitunnar og einingarinnar.
Þessi skreytingamaður gefur Nest.js lýsigögn til að bera kennsl á hvaða íhlutir, stýringar eða önnur úrræði verða notuð í forritskóðanum og sameina þau í eitt sett.
Hver eining hefur safn af getu sem tengjast á einhvern hátt.
Byrjaðu með NestJS
1. uppsetning
Við skulum setja upp NestJS og búa til verkefni með því með því að fylgja þessum skrefum:
Eftirfarandi möppuuppbygging verður til vegna þessa:
2. Stjórnendur
Byggingareiningar Hreiðrunnar eru stýringar. Þetta eru staðirnir þar sem beiðnir á heimleið verða meðhöndlaðar. Þú getur tilgreint leiðarslóðina með því að nota HTTP aðferðabreytingar (Fá, Sendu, Settu, Eyða, og svo framvegis) skreytingum, eins og sést í kóðanum hér að neðan.
Nestjs notar skreytingaraðferðina og er aðallega þróað í Typescript, þó það styðji einnig JavaScript. Þú getur líka notað flokksprófara til að sannreyna beiðnina.
Ég ætla bara að búa til Nestjs server dæmi og bæta ValidationPipe við á heimsvísu. Pípur eru bara aðferðir sem keyra á undan Controllers. Einnig er hægt að beita rörum á aðferðar-/röksemdastigi með því að nota @UsePipes skreytinguna.
3. Veitendur
Veitendur eru annar mikilvægur hluti Nestjs. Langt, ég var að geyma gögn í tímabundinni breytu. Þess vegna er hægt að framkvæma svo einfalt verkefni með því að nota stjórnandi stjórnendur.
Hins vegar, fyrir stærri og flóknari rökfræði, væri aðskilnaður kóða og endurnotkun erfiður. Þetta er þegar birgjar koma inn. Þú getur lýst yfir/búið til þjónustuaðila ofan á flokki með því að nota @Injectable skreytinguna. Síðan, með því að nota veitendur, geturðu gert innspýting á ósjálfstæði, skógarhögg og önnur verkefni.
4. Einingar
Nestjs einingar eru ekki alþjóðlegar; í staðinn hafa þeir dýpt.
Hins vegar er hægt að deila því með hvaða öðrum einingum sem er. Þó að það, eins og Angular, bjóði upp á Global Modules, er ráðlegra að hafa þjónustu/stýringar í einingunni þar sem þeir eru oftast notaðir í Nestjs.
NestCLI er oftast notað til að framleiða einingar og veitendur/stýringar sem eru búnir til í samhengi þeirrar einingar eru sjálfkrafa bætt við af CLI. Þetta eru þekkt sem eiginleikaeiningar.
5. Undantekningasíur
Undantekningasíur eru villumeðferðaraðilar sem eru kallaðir fram þegar stjórnandi kastar undanþágu. Það stjórnar sjálfkrafa vandamálinu og gefur viðeigandi, notendavænt villuboð.
Margar HttpException erfðar undantekningar eru veittar af pakkanum @nestjs/common, þar á meðal NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException og margir aðrir. Þú getur jafnvel hannað þinn eigin undantekningarsíu.
6. Miðbúnaður
Aðgerð sem er kölluð fram áður en leiðarstjórinn er kölluð millihugbúnaður. Beiðni- og svarhlutirnir, sem og næsta() millihugbúnaðaraðgerðin í beiðni-svörunarlotu forritsins, eru aðgengilegar millihugbúnaðaraðgerðum.
Breyta sem kallast next er venjulega notuð til að bera kennsl á næstu miðvararaðgerð. Hægt er að útfæra sérsniðna Nest millibúnað í aðferð eða flokki með því að nota @Injectable() skreytinguna.
7. Vörður
Verðir bera aðeins ábyrgð á einu. Það er á þeirra ábyrgð að meta hvort beiðni verði afgreidd af ábyrgðaraðila út frá sérstökum aðstæðum (sérstaklega notendaskilgreind rökfræði).
Það er gagnlegt fyrir auðkenningu/heimild og er ráðlögð aðferð í Nestjs.
Þó að auðkenning/heimildir, o.s.frv., sé hægt að gera með millihugbúnaði, er það ekki gert á tjá eða öðrum HTTP netþjónum þar sem þeir hafa ekki tengt sterku samhengi og hafa enga ástæðu til að vita hvaða aðferð verður notuð til að vinna úr beiðninni.
Kostir
- Ramminn er mjög háður athugasemdum, sem eru notaðar til að framleiða allt frá endapunktum til Swagger skjöl. Endapunktarnir eru grunnir og snyrtilegir og skýringarnar auðvelda þróun almennt.
- Það er einfalt að útfæra almennar einingar og endurnýta kóða í mörgum verkefnum þar sem Nest.js er einingabyggð rammi.
- Möppuuppbygging Nest.js er undir verulegum áhrifum frá Angular. Þegar Nest þjónustu er hannað gerir þetta lágmarks niður í miðbæ.
- Íhlutir hafa sínar eigin möppur, þar sem rótin inniheldur forritseininguna og aðalskrána. Vegna einfaldleika uppbyggingarinnar er hægt að leggja meiri áherslu á hönnun endapunkta og viðskiptavina þeirra frekar en uppbyggingu forritsins.
- Nest, eins og Angular, býður upp á gott skipanalínuverkfæri, Nestjs/cli, sem er fáanlegt í gegnum Node Package Manager.
Ókostir
- Nest hefur yfirburði hvað varðar TypeScript notkun og Angular samþættingu, en það skortir fjárhagslegan stuðning risastórs fyrirtækis.
- Skortur á skjölum stafar mesta ógn af Nest notendum. Þrátt fyrir að umgjörðin hafi framúrskarandi samspil við aðra umgjörð er skjölin dreifð og tekur ekki á hugsanlegum erfiðleikum.
- Nest hefur yfirburði hvað varðar TypeScript notkun og Angular.
Niðurstaða
NestJS veitir þróunaraðilum gríðarlegan stuðning. Til að hefja þróun er allt sem þú þarft að gera búa til nýtt app og þú ert góður að fara. Þessi rammi veitir umtalsverða aukningu strax, en hjálpar þér einnig að taka fleiri stig með því að koma á viðeigandi apparkitektúr.
Það notar háþróaða aðferðir og tækni til að framleiða forrit sem eru bæði viðráðanleg og langvarandi. Það er hægt að nota til að tengjast GraphQL, WebSockets og smíða örþjónustur.
Skildu eftir skilaboð