Ni ọdun 2021, JavaScript jẹ ede siseto ti a lo pupọ julọ.
Afilọ ti imọ-ẹrọ yii jẹ eyiti a ko le sẹ, bi a ti rii nipasẹ nọmba titobi ti awọn ilana ti o mu siseto JavaScript ṣiṣẹ.
Angular, React, ati Vue wa ni iwaju iwaju, bakanna bi Express ati Next lori ẹhin, lati darukọ diẹ.
Pẹlu ọpọlọpọ awọn ilana iyalẹnu fun siseto ẹhin ni iraye si JavaScript, o le ronu idi ti Emi yoo wa nkan ti o yatọ ju kiki lilo KIAKIA tabi Next.
Boya o nilo lati fo ilana idagbasoke ni kiakia pẹlu igbomikana ti o tọ, ati fifi kun pẹlu ọwọ kii ṣe awọn oludari tuntun nikan ṣugbọn awọn iṣẹ tun jẹ ki o ṣaisan.
Tabi o fẹ ṣẹda sọfitiwia nla, iwọn ti o rọrun lati ṣakoso. Tabi boya o kan fẹ lati ṣiṣẹ ni ọna ti o munadoko ati irọrun diẹ sii.
Laibikita eyiti o jẹ otitọ ni ipo rẹ, Nest.js le jẹ ojutu pipe fun awọn iwulo rẹ.
Ifiweranṣẹ yii yoo pese awọn oye NestJS gẹgẹbi iriri-ọwọ.
Kini NestJS?
NestJS jẹ ilana Node ti o ni ilọsiwaju ti o jẹ ṣiṣi-orisun, faagun, ati iyipada .Js ilana fun ile, lowosi ati ki o nija backend awọn ọna šiše. O ti wa ni bayi ni Node pẹlu iyara idagbasoke oṣuwọn.
Ilana TypeScript fun js. NestJS ni a lo lati ṣẹda awọn ohun elo ti o jẹ iwọn, ti o ṣee ṣe idanwo, ati ti o ni asopọ lainidii.
O ṣe afikun scalability si Node. Awọn olupin Js ti mu lọ si gbogbo ipele tuntun. PostgreSQL, MongoDB, ati MySQL wa laarin awọn data data ti o ni atilẹyin.
NestJS jẹ extensible nitori o le ṣee lo pẹlu miiran ikawe; rọ nitori ilolupo ilolupo ti o ni ibamu ni kikun. Ati ilọsiwaju niwon o ṣe atilẹyin awọn ẹya JavaScript ati awọn ilana apẹrẹ.
O jẹ ipa akọkọ nipasẹ Angular, React, ati Vue ati pe o wa pẹlu abẹrẹ igbẹkẹle ti a ṣe sinu.
Awọn ẹya ara ẹrọ
- O rọrun lati lo, kọ ẹkọ, ati oluwa.
- O jẹ ọfẹ ati ìmọ-orisun (iwe-aṣẹ MIT)
- Alagbara Line Line Interface (CLI) fun pọ sise ati ki o idagbasoke ayedero
- Awọn eto idanwo-kuro ti o rọrun lati lo
- TypeScript, ede ti a tẹ ni wiwọ ti o jẹ superset ti JavaScript, ni lilo.
- Idagbasoke ati itoju ti ohun ti nṣiṣe lọwọ codebase.
- Atilẹyin fun awọn ọgọọgọrun ti awọn modulu pato itẹ-ẹiyẹ ti o jẹ ki o rọrun lati ni wiwo pẹlu awọn imọ-ẹrọ olokiki ati awọn imọran bii TypeORM, Mongoose, GraphQL, gedu, afọwọsi, caching, WebSockets, ati diẹ sii.
Kini awọn bulọọki ile ti NestJS?
Awọn paati ile ti awọn ohun elo itẹ-ẹiyẹ ti wa ni akojọ si isalẹ; awọn miiran wa, ṣugbọn awọn mẹta wọnyi jẹ pataki julọ. Jẹ ki a yara wo wọn.
1. Awọn oludari
Awọn alabojuto wa ni idiyele ti sisẹ awọn ibeere ti nwọle ati idahun si awọn alabara. O gba awọn ibeere HTTP pato, ati eto ipa-ọna pinnu iru oludari wo ni o gba ibeere.
Lẹhinna o ṣe agbekalẹ idahun to dara lati firanṣẹ. Pẹlu iranlọwọ ti awọn kilasi ati awọn oluṣọṣọ, a ti kọ olugba ti o rọrun ati oludari kọọkan ni awọn ọna tirẹ fun ṣiṣe awọn iṣẹ ṣiṣe lọpọlọpọ.
2. Awọn olupese
Awọn olupese jẹ imọran bọtini ni Nest. Pupọ ninu awọn kilasi itẹ-ẹiyẹ mojuto - awọn iṣẹ, awọn ibi ipamọ, awọn ile-iṣelọpọ, awọn oluranlọwọ, ati bẹbẹ lọ – le ṣe mu bi awọn olupese.
Ero ipilẹ ti olupese ni pe o le jẹ itasi bi igbẹkẹle; Eyi tumọ si pe awọn nkan le ṣe agbekalẹ ọpọlọpọ awọn ẹgbẹ pẹlu ara wọn, ati ipa ti “wilọ soke” awọn iṣẹlẹ ti awọn nkan le jẹ jijade ni pataki si eto asiko asiko itẹ-ẹiyẹ.
3. Awọn modulu
A module ni a kilasi pẹlu @Module () ohun ọṣọ ti o seto awọn irinše ti awọn ohun elo ká be. Ohun elo kọọkan ni module root kan ti o lo lati ṣe agbekalẹ aworan ohun elo, eyiti o ṣe ipinnu siwaju awọn igbẹkẹle ati awọn ibaraenisepo laarin olupese ati module naa.
Ohun ọṣọ yii n fun metadata si Nest.js lati le ṣe idanimọ iru awọn paati, awọn oludari, tabi awọn orisun miiran yoo ṣee lo ninu koodu ohun elo ati ki o darapọ wọn sinu ṣeto ẹyọkan.
Kọọkan module ni o ni a gbigba ti awọn agbara ti o ti wa ni ti sopọ ni diẹ ninu awọn ọna.
Bibẹrẹ pẹlu NestJS
1. Fifi sori
Jẹ ki a fi NestJS sori ẹrọ ki o ṣe iṣẹ akanṣe pẹlu rẹ nipa titẹle awọn igbesẹ wọnyi:
Ilana ilana atẹle yoo ṣẹda bi abajade eyi:
2. Awọn oludari
Awọn bulọọki ile itẹ-ẹiyẹ jẹ awọn oludari. Iwọnyi ni awọn ipo nibiti awọn ibeere inbound yoo ṣe mu. O le pato ipa ọna nipa lilo awọn iyipada ọna HTTP (Gba, Firanṣẹ, Fi sii, Paarẹ, ati bẹbẹ lọ) awọn ọṣọ, bi a ti rii ninu koodu ni isalẹ.
Nestjs nlo ọna ohun ọṣọ ati pe o ni idagbasoke pupọ julọ ni Typescript, botilẹjẹpe o tun ṣe atilẹyin JavaScript. O tun le lo olufọwọsi kilasi kan lati fọwọsi ara ibeere naa.
Emi yoo kan ṣe apẹẹrẹ olupin Nestjs ati ṣafikun ValidationPipe ni agbaye. Awọn paipu jẹ awọn ọna ti o ṣiṣẹ ṣaaju Awọn oluṣakoso. Awọn paipu tun le lo ni ipele ọna/ariyanjiyan nipa lilo ohun ọṣọ @UsePipes.
3. Awọn olupese
Awọn olupese jẹ paati pataki miiran ti Nestjs. Ni ọna jijin, Mo n tọju data ni oniyipada igba diẹ. Ti o ni idi ti iru iṣẹ-ṣiṣe ti o rọrun le ṣee ṣe nipa lilo awọn olutọju Alakoso.
Sibẹsibẹ, fun titobi nla, ọgbọn idiju diẹ sii, iyapa koodu ati ilotunlo yoo nira. Eyi ni nigbati awọn olupese ba wọle Lẹhinna, lilo awọn olupese, o le ṣe abẹrẹ igbẹkẹle, gedu, ati awọn iṣẹ-ṣiṣe miiran.
4. Awọn modulu
Nestjs modulu ni o wa ko agbaye; dipo, won ni ijinle.
Sibẹsibẹ, o le pin pẹlu eyikeyi awọn modulu miiran bi daradara. Bi o tilẹ jẹ pe, bii Angular, nfunni Awọn modulu Agbaye, o ni imọran diẹ sii lati tọju Awọn iṣẹ / Awọn alabojuto ni module nibiti wọn ti lo julọ ni Nestjs.
NestCLI ni a lo lati ṣe agbejade awọn modulu ni ọpọlọpọ igba, ati awọn olupese/awọn oludari ti ipilẹṣẹ ni ipo module yẹn jẹ afikun laifọwọyi nipasẹ CLI. Awọn wọnyi ni a mọ bi awọn ẹya ara ẹrọ.
5. Iyasoto Ajọ
Awọn asẹ imukuro jẹ awọn oluṣakoso aṣiṣe ti o pe nigbati Alakoso kan ju imukuro kan. O ṣakoso ọran naa laifọwọyi ati jiṣẹ ti o yẹ, ifiranṣẹ aṣiṣe ore-olumulo.
Ọpọlọpọ awọn imukuro HttpException ti jogun ni a pese nipasẹ package @nestjs/wọpọ, pẹlu NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, ati ọpọlọpọ awọn miiran. O le paapaa ṣe apẹrẹ ExceptionFilter tirẹ.
6. Middleware
Iṣẹ kan ti o pe ṣaaju olutọju ipa ọna ni a pe ni middleware. Ibeere ati awọn nkan idahun, bakanna bi iṣẹ agbedemeji () iṣẹ agbedemeji ohun elo naa, ni iraye si awọn iṣẹ agbedemeji.
Ayipada ti a npe ni atẹle jẹ igbagbogbo lo lati ṣe idanimọ iṣẹ agbedemeji atẹle. Aṣa Nest middleware le ṣe imuse ni ọna kan tabi kilasi lilo @Injectable() ọṣọ.
7. Awọn oluso
Awọn oluso ni o wa nikan lodidi fun ohun kan. O jẹ ojuṣe wọn lati ṣe ayẹwo boya tabi kii ṣe ibeere kan yoo ni ilọsiwaju nipasẹ oludari ti o da lori awọn ipo kan pato (Ni pato, ọgbọn asọye olumulo).
O ṣe iranlọwọ fun ìfàṣẹsí/aṣẹ ati pe o jẹ ọna ti a ṣeduro ni Nestjs.
Bi o tilẹ jẹ pe ijẹrisi / awọn igbanilaaye, ati bẹbẹ lọ, le ṣee ṣe ni lilo middleware, ko ṣe ni kiakia tabi awọn olupin HTTP miiran niwon wọn ko ni ipo ti o lagbara ti o ni ibatan ati pe ko ni idi lati mọ iru ọna ti yoo lo lati ṣe ilana naa.
Anfani
- Ilana naa dale pupọ lori awọn asọye, eyiti o lo lati gbejade ohunkohun lati awọn aaye ipari si iwe Swagger. Awọn aaye ipari jẹ ipilẹ ati mimọ, ati awọn asọye jẹ ki idagbasoke rọrun ni gbogbogbo.
- O rọrun lati ṣe ita awọn modulu idi gbogbogbo ati tun lo koodu ni ọpọlọpọ awọn iṣẹ akanṣe nitori Nest.js jẹ ilana ti o da lori module.
- Ilana folda Nest.js jẹ pataki ni ipa nipasẹ Angular. Nigbati o ba n ṣe apẹrẹ iṣẹ itẹ-ẹiyẹ kan, eyi ngbanilaaye fun akoko idinku diẹ.
- Awọn paati ni awọn ilana tiwọn, pẹlu gbongbo ti o ni module ohun elo ati faili akọkọ. Nitori ayedero ti eto naa, akiyesi diẹ sii ni a le fi si apẹrẹ ti awọn aaye ipari ati awọn alabara wọn dipo eto ohun elo naa.
- Nest, bii Angular, nfunni ni irinṣẹ laini aṣẹ to wuyi, Nestjs/cli, eyiti o wa nipasẹ Oluṣakoso Package Node.
alailanfani
- Nest ni anfani ni awọn ofin ti lilo TypeScript ati iṣọpọ Angular, ṣugbọn ko ni atilẹyin owo ti ile-iṣẹ nla kan.
- Aini iwe jẹ irokeke nla julọ si awọn olumulo itẹ-ẹiyẹ. Botilẹjẹpe ilana naa ni awọn ibaraenisọrọ to dara julọ pẹlu awọn ilana miiran, iwe-ipamọ ko fọnka ati pe ko koju awọn iṣoro eyikeyi ti o pọju.
- Nest ni anfani ni awọn ofin lilo TypeScript ati Angular.
ipari
NestJS n pese awọn olupilẹṣẹ pẹlu ẹsẹ nla kan. Lati bẹrẹ idagbasoke, gbogbo ohun ti o nilo lati ṣe ni ṣẹda ohun elo tuntun ati pe o dara lati lọ. Ilana yii n pese igbelaruge pataki taara lẹsẹkẹsẹ, lakoko ti o tun ṣe iranlọwọ fun ọ ni gbigbe awọn ipele afikun nipa didasilẹ faaji ohun elo to dara.
O ṣe lilo awọn ọna gige-eti ati imọ-ẹrọ lati ṣe awọn ohun elo ti o jẹ iṣakoso mejeeji ati pipẹ. O le ṣee lo lati sopọ si GraphQL, WebSockets, ati kọ awọn iṣẹ microservices.
Fi a Reply