I le 2021, o le Javascript o le gagana polokalame sili ona faʻaaogaina.
O le apili o lenei tekinolosi e le mafai ona faʻafitia, e pei ona vaʻaia e le tele o faʻasalalauga e mafai ai le polokalame JavaScript.
O loʻo i ai le Angular, React, ma Vue i le pito i luma, faʻapea foʻi le Express ma le Next i le pito i tua, e taʻua ai ni nai mea.
Faatasi ai ma le tele o fausaga matagofie mo polokalame backend i le JavaScript e mafai ona maua, atonu o loʻo e mafaufau pe aisea ou te suʻeina ai se mea ese nai lo le faʻaaogaina o le Express poʻo le Next.
Masalo e te manaʻomia le vave amataina o le atinaʻe faʻatasi ma se faʻavela lelei, ma faʻaopoopo ma le lima e le gata o mea fou e pulea ae o auaunaga foi e te maʻi ai.
Po'o e te mana'o e fa'atupu le tele, scalable software e faigofie ona pulea. Pe atonu e te manaʻo e galue i se auala sili atu ona lelei ma faigofie.
E tusa lava po o le a le mea moni i lou tulaga, Nest.js e mafai ona avea ma fofo sili mo ou manaʻoga.
O lenei pou o le a maua ai faʻamatalaga NestJS faʻapea foʻi ma le poto masani.
O le a le NestJS?
NestJS ose fa'avae Node alualu i luma e tatala-puna, fa'alautele, ma fetuutuunai .Js auivi mo le fausiaina, fa'aogaina ma lu'itau faiga pito i tua. O le Node lea e sili ona vave le tuputupu ae.
TypeScript auivi mo js. NestJS o lo'o fa'aogaina e fai ai tusi talosaga e mafai ona fuaina, fa'ata'ita'i, ma fa'agata feso'ota'i.
E faʻaopoopoina le faʻaogaina i le Node. Js servers ua ave i se tulaga fou atoa. PostgreSQL, MongoDB, ma MySQL o loʻo i totonu o faʻamaumauga o loʻo lagolagoina.
NestJS e mafai ona fa'alautele aua e mafai ona fa'aoga ma isi faletusi; fetu'utu'una'i ona o lona fa'aogaina atoatoa o le fa'anatura. Ma alualu i luma talu ai e lagolagoina le JavaScript foliga ma mamanu faavae.
E matua a'afia lava e Angular, React, ma Vue ma e sau fa'atasi ma tui fa'alagolago.
Features
- E faigofie ona faʻaoga, aʻoaʻo, ma faʻatautaia.
- E leai se totogi ma Tatala-punaoa (Laisene MIT)
- Malosiaga Poloaiga Line Interface (CLI) mo le faʻateleina o le gaosiga ma le faʻafaigofieina o le atinaʻe
- Polokalama su'ega iunite e faigofie ona fa'aoga
- TypeScript, o se gagana fa'apipi'i fa'apipi'i o se superset o le JavaScript, o lo'o fa'aogaina.
- Atina'e ma le tausiga o se fa'avae fa'atulafonoina.
- Lagolago mo le fiaselau o faʻaoga faʻapitoa e faʻafaigofie ona faʻafesoʻotaʻi ma tekinolosi lauiloa ma manatu e pei o TypeORM, Mongoose, GraphQL, logging, validation, caching, WebSockets, ma isi mea.
O a poloka faufale o NestJS?
O vaega faufale o talosaga a Nest o lo'o lisi atu i lalo; e i ai isi, ae o nei tolu e sili ona taua. Sei o tatou vaai vave ia i latou.
1. Pule
O pule e nafa ma le faʻagaioiina o talosaga e oʻo mai ma tali atu i tagata faʻatau. Na te mauaina fa'amatalaga HTTP fa'apitoa, ma o le fa'atonuga fa'atonu e iloa ai po'o fea pule e maua le talosaga.
Ona tusia lea o se tali talafeagai e lafo atu. Faatasi ai ma le fesoasoani a vasega ma teuteuga, ua fausia ai se aoina faigofie ma e tofu lava le pule ma ana lava seti auala mo le faia o galuega eseese.
2. Tagata e saunia
O 'au'aunaga ose manatu autu ile Nest. O le tele o vasega autu Nest - tautua, fale teu oloa, falegaosimea, fesoasoani, ma isi mea - e mafai ona fa'atautaia o ni tagata e tu'uina atu.
O le manatu autu a le au'aunaga e mafai ona tui o se fa'alagolago; o lona uiga e mafai e mea faitino ona fausia ni feso'ota'iga eseese o le tasi ma le isi, ma o le matafaioi o le "uaea" faʻataʻitaʻiga o mea faitino e mafai ona faʻatau atu i le Nest runtime system.
3. Faʻataʻitaʻiga
O se module o se vasega ma le @Module() teuteu e faʻatulagaina vaega o le fausaga o le talosaga. O talosaga ta'itasi o lo'o i ai se a'a module e fa'aogaina e fausia ai le kalafi o talosaga, lea e fa'amalie atili ai le fa'alagolago ma fegalegaleaiga i le va o le kamupani ma le module.
O lenei teuteuga e tu'uina atu metadata i le Nest.js ina ia mafai ai ona iloa po'o fea vaega, fa'atonu, po'o isi punaoa o le a fa'aogaina i le numera o talosaga ma tu'ufa'atasia i se seti se tasi.
O module ta'itasi o lo'o i ai se aofa'iga o agava'a e feso'ota'i i nisi auala.
Amata ile NestJS
1. oʻo
Se'i o tatou fa'apipi'i NestJS ma fai se galuega fa'atino e ala i le mulimuli i laasaga nei:
O le fa'asologa o fa'atonuga o lo'o mulimuli mai o le a faia ona o lenei mea:
2. Pule
O poloka faufale a le Nest o ni fa'atonu. O nofoaga ia e fa'atautaia ai talosaga i totonu. E mafai ona e faʻamaonia le ala ala e faʻaaoga ai le HTTP modifiers (Get, Post, Put, Delete, ma isi) teuteuga, e pei ona vaaia i le code i lalo.
O lo'o fa'aaogaina e Nestjs le auala teuteu ma e tele lava ina atia'e i le Typescript, e ui lava e lagolagoina le JavaScript. E mafai fo'i ona e fa'aogaina se fa'amaonia vasega e fa'amaonia ai le tino talosaga.
O le a ou faia se faʻataʻitaʻiga Nestjs server ma faʻaopoopo ValidationPipe i le lalolagi atoa. O paipa ua na'o auala e faatino i luma o Pule. E mafai fo'i ona fa'aoga paipa ile tulaga/fa'aupuga e fa'aaoga ai le @UsePipes decorator.
3. Tagata e saunia
O lo'o tu'uina atu se isi vaega taua o Nestjs. I le mamao, sa ou teuina faʻamatalaga i se fesuiaiga le tumau. O le mafuaʻaga lea e mafai ai ona faʻataunuʻuina se galuega faigofie e faʻaaoga ai le Pule faʻafoe.
Ae peitai, mo le tele, sili atu le lavelave o manatu, o le vavaeeseina o code ma le toe faʻaaogaina o le a faigata. O le taimi lea e sau ai le au fa'atau oloa. E mafai ona e fa'ailoa/fausia se tu'uina atu i luga ole vasega ile fa'aogaina o le @Injectable decorator. Ona, faʻaaogaina o auʻaunaga, e mafai ona e faia tui faʻalagolago, logging, ma isi galuega.
4. Faʻataʻitaʻiga
Nestjs modules e le o le lalolagi atoa; nai lo o latou loloto.
Ae ui i lea, e mafai foi ona faʻasoa i soʻo se isi modules. E ui lava, pei o le Angular, e ofoina atu Global Modules, e sili atu ona fautuaina le tausia o Auaunaga / Pule i totonu o le module lea e masani ona faʻaaogaina i Nestjs.
O le NestCLI e fa'aaogaina e gaosia ai modules i le tele o taimi, ma o lo'o tu'uina atu/pule fa'atupuina i totonu o le fa'asologa o lena module e otometi lava ona fa'aopoopoina e le CLI. O mea ia e ta'ua o vaega fa'apitoa.
5. Filifiliga Fa'apitoa
O filiga tuusaunoaga o tagata e faia mea sese e vala'au pe a lafo e le Pule se tuusaunoaga. E otometi lava ona fa'afoeina le mataupu ma tu'uina atu se fe'au sese fa'aoga talafeagai.
Le tele o HttpException tuusaunoaga tuusaunoaga ua saunia e le afifi @nestjs/common, e aofia ai NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, ma le tele o isi. E mafai fo'i ona e mamanuina lau oe ExceptionFilter.
6. Middleware
O se galuega e fa'aogaina a'o le'i faia le auala e ta'ua o le middleware. Ole mea ole talosaga ma tali, fa'apea fo'i ma le isi() middleware galuega i totonu ole talosaga-tali li'o, e mafai ona maua i galuega middleware.
O se fesuiaiga e taʻua o le isi e masani ona faʻaaogaina e iloa ai le isi galuega middleware. Custom Nest middleware e mafai ona faʻatinoina i se metotia poʻo se vasega e faʻaaoga ai le @Injectable() teuteu.
7. Leoleo
E tasi lava le mea e nafa ma leoleo. O la latou matafaioi le iloilo pe o le a faʻagasolo pe leai se talosaga e le pule e faʻavae i luga o tulaga faʻapitoa (Faʻapitoa, faʻaogaina e le tagata faʻaoga).
E fesoasoani tele mo le faʻamaonia / faʻatagaina ma o le auala fautuaina i Nestjs.
E ui o faʻamaoniga / faʻatagaga, ma isi, e mafai ona faia i le faʻaogaina o le middleware, e le faia i le faʻaalia poʻo isi HTTP servers talu ai latou te le o iai se fesoʻotaʻiga malosi ma e leai se mafuaʻaga e iloa ai po o le a le auala o le a faʻaaogaina e faʻatautaia ai le talosaga.
tulaga lelei
- O le faʻavae e faʻalagolago tele i faʻamatalaga, lea e faʻaaogaina e gaosia ai soʻo se mea mai faʻaiʻuga i tusitusiga a Swagger. O fa'ai'uga e fa'avae ma mama, ma o fa'amatalaga e fa'afaigofie ai le atina'e lautele.
- E fa'afaigofie ona fa'aalia i fafo modules fa'amoemoe lautele ma toe fa'aoga code i le tele o poloketi talu ai o Nest.js o se fa'avae fa'avae.
- Nest.js' fausaga faila e matua a'afia e Angular. Pe a fa'atulagaina se auaunaga a le Nest, e fa'ataga mo sina taimi fa'aletonu.
- O vaega e iai a latou lava fa'atonuga, fa'atasi ai ma le a'a o lo'o i ai le module talosaga ma le faila autu. Ona o le faigofie o le fausaga, sili atu le gauai e mafai ona tuʻuina atu i le mamanu o faʻaiʻuga ma a latou tagata faʻatau nai lo le fausaga o le talosaga.
- Nest, pei o le Angular, e ofoina atu se meafaigaluega lelei-laina, Nestjs/cli, lea e maua i le Node Package Manager.
tulaga le lelei
- O loʻo i ai se avanoa e faʻaogaina ai le TypeScript ma le Angular integration, ae leai se fesoasoani tau tupe a se kamupani tele.
- O le leai o ni fa'amaumauga e fa'amata'u tele ai tagata fa'aoga Nest. E ui lava o le auivi e sili ona lelei fegalegaleaiga ma isi auivi, o faʻamaumauga e seasea ma e le faʻatalanoaina soʻo se faʻafitauli e ono tupu.
- O lo'o i ai se fa'amanuiaga ile fa'aogaina ole TypeScript ma le Angular.
iʻuga
NestJS e tuʻuina atu i le au atinaʻe se vae tele i luga. Ina ia amata atinaʻe, pau lava le mea e tatau ona e faia o le fai se app fou ma ua lelei e te alu. O lenei auivi e maua ai se faʻaleleia vave, aʻo fesoasoani foi ia te oe i le faia o laasaga faaopoopo e ala i le faʻatuina o se ata faʻaoga talafeagai.
E fa'aogaina auala fa'atekonolosi ma fa'atekonolosi e maua ai fa'aoga e mafai ona fa'aogaina ma tumau. E mafai ona faʻaoga e faʻafesoʻotaʻi i le GraphQL, WebSockets, ma fausia microservices.
Tuua se tali