N'afọ 2021, Javascript bụ asụsụ mmemme kacha eji eme ihe.
Mkpesa nke teknụzụ a bụ ihe a na-apụghị ịgbagha agbagha, dị ka a na-ahụ site na ọnụ ọgụgụ buru ibu nke na-eme ka mmemme Javascript nwee ike.
Enwere Angular, React, na Vue na frontend, yana Express na na-esote na azụ azụ, ịkpọtụ ole na ole.
Na ọtụtụ ọmarịcha usoro maka mmemme azụ azụ na JavaScript, ị nwere ike na-eche ihe kpatara m ga-eji chọọ ihe dị iche kama iji naanị Express ma ọ bụ Ọzọ.
Ikekwe ịkwesịrị ịmalite usoro mmepe ngwa ngwa site na iji efere ọkụ dị mma, na iji aka tinye ọ bụghị naanị ndị njikwa ọhụrụ kamakwa ọrụ na-eme ka ị na-arịa ọrịa.
Ma ọ bụ na ịchọrọ ịmepụta nnukwu sọftụwia nwere ike ịbelata nke dị mfe ijikwa. Ma ọ bụ ikekwe ịchọrọ ịrụ ọrụ n'ụzọ dị mma na nke dabara adaba.
N'agbanyeghị nke bụ eziokwu n'ọnọdụ gị, Nest.js nwere ike ịbụ ngwọta zuru oke maka mkpa gị.
Ntugharị a ga-enye nghọta NestJS yana ahụmịhe aka.
Kedu ihe bụ NestJS?
NestJS bụ usoro Node na-aga n'ihu nke mepere emepe, gbasaa, na mgbanwe .Js usoro maka iwulite, itinye aka na ihe ịma aka azụ azụ. Ọ bụzi Node nwere ọnụego uto kacha ngwa ngwa.
Ụdị TypeScript maka js. A na-eji NestJS mepụta ngwa ndị nwere ike ịbelata, enwere ike ịnwale, na enweghị njikọ.
Ọ na-agbakwụnye scalability na Node. Ebugoro sava Js n'ọkwa ọhụrụ. PostgreSQL, MongoDB, na MySQL so na ọdụ data akwadoro.
NestJS bụ extensible n'ihi na enwere ike iji ya na ụlọ akwụkwọ ndị ọzọ; na-agbanwe agbanwe n'ihi na gburugburu ebe obibi ya nwere ike imeghari nke ọma. Na na-aga n'ihu ebe ọ na-akwado atụmatụ Javascript na ụkpụrụ imewe.
Angular, React, na Vue na-emetụta ya nke ukwuu wee na-abịa na ntụtụ ndabere etinyere n'ime ya.
atụmatụ
- Ọ dị mfe iji, mụta na nna ukwu.
- Ọ bụ n'efu na Oghere (akwụkwọ ikike MIT)
- Ike Line Line Interface (CLI) maka mmụba arụpụtaghị ihe yana ịdị mfe mmepe
- Mmemme nnwale otu dị mfe iji
- A na-eji TypeScript, asụsụ ejiri pịnye nke ọma nke bụ nnukwu ihe Javascript.
- Mmepe na mmezi nke codebase na-arụ ọrụ.
- Nkwado maka ọtụtụ narị modul akọwapụtara akwụghị ụgwọ nke na-eme ka ọ dị mfe iji teknụzụ na echiche ndị ama ama dị ka TypeORM, Mongoose, GraphQL, ndekọ, nkwado, caching, WebSockets, na ndị ọzọ.
Kedu ihe bụ ngọngọ ụlọ nke NestJS?
Edepụtara akụkụ ụlọ nke ngwa Nest n'okpuru; e nwere ndị ọzọ, mana atọ ndị a kacha pụta ìhè. Ka anyị lee ha ngwa ngwa.
1. Ndị na-achịkwa
Ndị njikwa na-ahụ maka ịhazi arịrịọ mbata na ịza ndị ahịa. Ọ na-anata arịrịọ HTTP pụrụ iche, na sistemu ụzọ na-ekpebi onye njikwa ga-enweta arịrịọ.
Ọ na-edepụta azịza dabara adaba izipu. Site n'enyemaka nke klaasị na ndị na-achọ mma, a na-ewu onye nchịkọta dị mfe na onye njikwa ọ bụla nwere usoro nke ya maka ịrụ ọrụ dị iche iche.
2. Ndị na-enye
Ndị na-eweta bụ isi echiche na akwu. Ọtụtụ n'ime klaasị Nest bụ isi - ọrụ, ebe nchekwa, ụlọ ọrụ mmepụta ihe, ndị enyemaka na ndị ọzọ - enwere ike ijikwa dị ka ndị na-eweta.
Echiche bụ isi nke onye na-eweta ya bụ na enwere ike ịgbanye ya dịka ndabere; Nke a na-egosi na ihe nwere ike ịmekọrịta mmekọrịta dị iche iche n'otu n'otu, yana ọrụ nke "ijikọ" ihe atụ nke ihe nwere ike ibuga ya na sistemụ oge akwu.
3. Modulu
Modul bụ klaasị nwere @Module() ihe ndozi nke na-ahazi akụkụ nke nhazi ngwa ahụ. Ngwa ọ bụla nwere modul mgbọrọgwụ nke ejiri wuo eserese ngwa ahụ, nke na-edozikwa ndabere na mmekọrịta dị n'etiti onye na-eweta ya na modul.
Ihe ịchọ mma a na-enye Nest.js metadata iji chọpụta akụrụngwa, njikwa ma ọ bụ akụrụngwa ndị ọzọ a ga-eji na koodu ngwa wee jikọta ha n'otu nhazi.
Modul ọ bụla nwere mkpokọta ikike ejikọtara n'ụzọ ụfọdụ.
Na-amalite na NestJS
1. nwụnye
Ka anyị tinye NestJS wee jiri ya rụọ ọrụ site na isoro usoro ndị a:
A ga-emepụta ụkpụrụ ndekọ aha ndị a n'ihi nke a:
2. Ndị na-achịkwa
Ihe mgbochi ụlọ akwu bụ ndị njikwa. Ndị a bụ ebe a ga-edozi arịrịọ mbata. Ị nwere ike ezipụta ụzọ ụzọ site na iji usoro HTTP modifiers (Nweta, Bipute, Tinye, Hichapụ, na ihe ndị ọzọ) ndị na-achọ mma, dị ka a hụrụ na koodu dị n'okpuru.
Nestjs na-eji usoro ihe ịchọ mma na-etolitekarị na Typescript, n'agbanyeghị na ọ na-akwado Javascript. Ị nwekwara ike iji ihe nkwado klaasị iji kwado òtù arịrịọ ahụ.
Aga m eme ihe atụ nkesa Nestjs wee tinye ValidationPipe n'ụwa niile. Ọkụ bụ naanị ụzọ na-eme n'ihu ndị njikwa. Enwere ike itinye ọkpọkọ n'usoro/ọkwa arụmụka site na iji ihe ndozi @UsePipes.
3. Ndị na-enye
Ndị na-eweta bụ akụkụ ọzọ dị oke mkpa nke Nestjs. Ka ọ dị ugbu a, ana m echekwa data na mgbanwe nwa oge. Ya mere enwere ike ịrụ ọrụ dị mfe dị otú ahụ site na iji njikwa njikwa.
Agbanyeghị, maka mgbagha buru ibu, gbagwojuru anya, nkewa koodu na ijigharị ya ga-esi ike. Nke a bụ mgbe ndị na-ebubata ngwaahịa na-abata. Ị nwere ike kwupụta/mepụta onye na-eweta n'elu klaasị site na iji @Injectable decorator. Mgbe ahụ, n'iji ndị na-enye ọrụ, ị nwere ike ịme ịgba ọgwụ mgbochi, ịde osisi, na ọrụ ndị ọzọ.
4. Modulu
Nestjs modul abụghị zuru ụwa ọnụ; kama, ha nwere omimi.
Agbanyeghị, enwere ike ịkekọrịta ya na modul ọ bụla ọzọ. Ọ bụ ezie na ya, dị ka Angular, na-enye Global Modules, ọ bụ ihe amamihe dị na ya idobe Ọrụ / Ndị njikwa na modul ebe a na-ejikarị ha na Nestjs.
A na-eji NestCLI na-emepụta modul ọtụtụ oge, yana ndị na-enye/nchịkwa na-emepụta na ọnọdụ modul ahụ bụ ndị CLI na-agbakwụnye na-akpaghị aka. A maara ndị a dị ka modul atụmatụ.
5. Mwepu nzacha
Ihe nzacha wezuga bụ ndị njikwa njehie a na-akpọku mgbe onye njikwa tụpụrụ mwepu. Ọ na-ejikwa okwu ahụ na-akpaghị aka ma na-ebuga ozi njehie enyi na enyi kwesịrị ekwesị.
Ọtụtụ ihe e ketara eketa HttpException bụ nke ngwugwu @nestjs/common na-enye, gụnyere NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, na ọtụtụ ndị ọzọ. Ị nwere ike chepụta ExceptionFilter nke gị.
6. Middleware
Ọrụ a na-akpọ n'ihu onye na-ahụ maka ụzọ ka a na-akpọ middleware. Arịrịọ na ihe nzaghachi, yana ọrụ etiti () na-esote n'ime usoro nzaghachi arịrịọ ngwa, nwere ike ịnweta ọrụ middleware.
A na-ejikarị mgbanwe a na-akpọ na-esote iji chọpụta ọrụ etiti na-esote. Enwere ike itinye n'etiti ngwa ahịa Nest n'usoro ma ọ bụ klaasị na-eji @Injectable() ihe ndozi.
7. Ndị nche
Ndị nche na-ahụ maka naanị otu ihe. Ọ bụ ọrụ ha ịchọpụta ma onye njikwa ga-ahazi arịrịọ ma ọ bụ na agaghị ahazi ya dabere na ọnọdụ akọwapụtara (Kpọmkwem, mgbagha akọwapụtara onye ọrụ).
Ọ na-enyere aka maka nyocha/ikike ma bụrụ usoro akwadoro na Nestjs.
Ọ bụ ezie na nkwenye / ikike, wdg, nwere ike ime site na iji middleware, a naghị eme ya na nkwupụta ma ọ bụ sava HTTP ndị ọzọ ebe ọ bụ na ha enweghị njikọ siri ike metụtara ya na enweghị ihe kpatara ịmara usoro a ga-eji hazie arịrịọ ahụ.
uru
- Usoro a na-adabere kpamkpam na nkọwa, nke a na-eji emepụta ihe ọ bụla site na njedebe ruo na akwụkwọ Swagger. Ihe njedebe bụ isi na nhazi, na nkọwa na-eme ka mmepe dịkwuo mfe n'ozuzu.
- Ọ dị mfe ịwepụta modul ebumnuche izugbe wee jiri koodu n'ọtụtụ ọrụ ebe Nest.js bụ usoro dabere na modul.
- Angular na-emetụta Ọdịdị nchekwa Nest.js nke ukwuu. Mgbe ị na-emepụta ọrụ akwu, nke a na-enye ohere maka obere oge nkwụsị.
- Ngwa nwere akwụkwọ ndekọ aha nke ha, nwere mgbọrọgwụ nwere modul ngwa na faịlụ bụ isi. N'ihi ịdị mfe nke nhazi ahụ, enwere ike itinye nlebara anya na nhazi nke njedebe na ndị ahịa ha karịa nhazi nke ngwa ahụ.
- Akwu, dị ka Angular, na-enye ọmarịcha ngwa ngwa-iwu, Nestjs/cli, nke dị site na Node Package Manager.
ọghọm
- Nest nwere uru n'ihe gbasara iji TypeScript na njikọta Angular, mana enweghị nkwado ego nke nnukwu ụlọ ọrụ.
- Enweghị akwụkwọ na-etinye nnukwu ihe iyi egwu nye ndị ọrụ Nest. Agbanyeghị na usoro ahụ nwere mmekọrịta dị mma na usoro ndị ọzọ, akwụkwọ ahụ pere mpe na anaghị edozi nsogbu ọ bụla nwere ike ime.
- Akwu nwere uru n'usoro iji TypeScript na Angular.
mmechi
NestJS na-enye ndị nrụpụta nnukwu ụkwụ elu. Iji malite mmepe, ihe niile ị ga - eme bụ mepụta ngwa ọhụrụ na ị dị mma ịga. Usoro a na-enye nkwalite dị ukwuu ozugbo, ma na-enyere gị aka ịme usoro ndị ọzọ site n'ịmepụta nhazi ngwa ngwa dabara adaba.
Ọ na-eji ụzọ mpụ na teknụzụ na-emepụta ngwa ndị nwere ike ijikwa ma na-adịte aka. Enwere ike iji ya jikọọ na GraphQL, WebSockets, na wuo ọrụ microservices.
Nkume a-aza